nja, wie gesagt, ich bau es jetzt erstmal so um, daß statt 'nes Desktops gleich eine ganze WindowsStation erstellt wird und nutze dann dessen Standarddesktop ... brauch aber noch ein paar Minütchen.
Und dann muß ich mal sehn, wie ich das Programm in einen Service umwandel, weil ohne Adminrechte geht es dann nimmer.
Zitat von
Union:
Delphi-Quellcode:
GetUserObjectInformation(OpenInputDesktop(0, false, GENERIC_ALL), UOI_NAME, @pDesktopname, 256, dwLen);
SetString(DesktopName, pDesktopName, dwLen-1);
hDesktop := OpenDesktop(PAnsiChar(Desktopname), 0, false, GENERIC_ALL);
if hDesktop <> 0 then
OK, abgesehn davon, daß der mit OpenInputDesktop geöffnete Desktop laut
MSDN auch wieder geschlossen werden muß was er hier nicht wird...
Aber versteh ich den Code richtig?
Man öffnet den Desktop der WindowStation, besorgt sich den Namen und öffnet ihn dann nochmal?
Also theoretisch würde es doch dann reichen den zuerstgefundenen Desktop gleich zu benutzen?