Zitat von
xZise:
Naja, aber wenn ich Dienst über /install installiere nützt mir dann diese Funktion ja wenig.
Installieren und Starten ist ein Unterschied.
Zitat von
xZise:
Oder könnte man die Tokens der Explorer.exe herausfinden? Weil unter Windows 2000 konnte sich ja nur ein Benutzer anmelden...
CreateCompatibilityQueryUserToken macht genau das. Dieser Konstruktor darf in einem Dienst nur in Windows2000 aufgerufen werden.
Zitat von
xZise:
PS: Läuft die Explorer.exe eigentlich auch, wenn niemand angemeldet ist?
[/quote]
Er schlägt natürlich fehl, wenn keiner eingeloggt ist, weil dann der Explorer.exe Prozess nicht existiert.
Du kannst erst dann das UserToken unter Win2000 bekommen, wenn ein Benutzer sich angemeldet hat und Explorer.exe existiert.
Für WindowsXP/2003 und neuer verwende auf jeden Fall den Konstruktor CreateWTSQueryUserToken.