Zitat von
Dezipaitor:
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.
Aber anscheinend tut er das nicht korrekt, oder er muss als root-Element die Explorer.exe haben, was aber sinnlos wäre (oder nicht?), weil man damit ja auch die eigenen Tokens kennt?!
Zitat von
Dezipaitor:
Zitat von
xZise:
PS: Läuft die Explorer.exe eigentlich auch, wenn niemand angemeldet ist?
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.
Naja, aber der Benutzer ist ja angemeldetet.
Zitat von
Dezipaitor:
Für WindowsXP/2003 und neuer verwende auf jeden Fall den Konstruktor CreateWTSQueryUserToken.
Betriebssystem ist aber
nicht Windows XP oder höher!
Also folgern wir daraus, dass ein
installierter Dienst unter
Windows 2000 mithilfe von
CreateCompatibilityQueryUserToken nicht den (?) Token des angemeldeten Benutzers herausfinden kann?
Mensch ist das geil xD Gerade das Betriebssystem, welches nur einen Benutzer unterstützt, kann nicht den Benutzernamen oder Adminrechte zurückgeben?
Da sollte es doch besser funktionieren, weil es nur einen geben kann, also es nur 2 Fälle gibt: Angemeldet/Abgemeldet
MfG
xZise