Ist das jetzt bloß
unheimlich optimiert, oder verstehe ich hier irgendwas nicht???
Code:
[color=gray][...][/color]
pDesktopName : array[0..255] of char;
[color=gray][...][/color]
GetUserObjectInformation(OpenInputDesktop(0, false, GENERIC_ALL), UOI_NAME, @pDesktopname, 256, dwLen);
[color=red]SetString(DesktopName, pDesktopName, dwLen-1);[/color]
hDesktop := OpenDesktop([color=red]PAnsiChar(Desktopname)[/color], 0, false, GENERIC_ALL);
[color=gray][...][/color]
Bei dieser Form der Optimierung kann auch der Compiler nicht mehr mithalten, denke ich ...
@Union: kann es denn nicht auch mehr als nur eine WinSta0 auf TS-Systemen geben?
Apropos: wie steht's denn mit der Vista- und TS-Kompatibilität??? Schon jemand getestet?
@Sascha999999999: Du postest hier wild weiter. Hast du schonmal angeschaut was die Beispiele (e.g. Union) so machen? Ich vermisse da mindestens ein wichtiges Element in deinem Code (Stichwort: WinSta). Im übrigen gibt es gute Gründe nicht immer alle Rechte anzufordern. Beispielsweise könnte dein Code schon wieder nicht funktionieren, wenn er unter einem weniger privilegierten Konto ausgeführt wird.