1. Für die Funktion gibts ein Beispiel :
http://msdn2.microsoft.com/en-us/library/ms686701.aspx
Die nutzen do while
2. natürlich
Übrigens gibt es seit XP die Funktion
WTSQueryUserToken um das Token zu erhalten.
Das funkz auch bei Leuten, die kein Explorer haben.
Noch was:
1. Bedenkt auch die Leute die noch kein Explorer.exe Prozess haben
Das kann passieren wenn:
a) der benutzer ne andere shell nutzt
b) der dienstcode vor der shell geladen wird
c) explorer wurde gekillt
2. wenn es mehrere Sessions gibt - in welche wird der prozess geöffnet? (Fast User Switching, Terminal Session)