GetUserName gibt nur den Namen des Benuterkontexts zurück, unter dem die Anwendung ausgeführt wird,
also nicht den aktiven Kontext wo der/ein Benutzer angemeldet ist.
und bei mir scheinen die Anwendungen wärend der Zeit problemlos weiterzulaufen (jedenfalls hörte z.B. der MediaPlayer nicht auf zu spielen.)
was das Erkennen angeht:
schau mal nach nach Themen wie
impersonate, womit sozusagen der Benuterkontext umgeschaltet werden kann, da gibt's bestimmt auch etwas zum Nachsehn was sonst noch aktiv ist ...
Ein Therapeut entspricht 1024 Gigapeut.