Was willst du jetzt: Den angemeldeten Benutzer* oder den Benutzer unter dem der Prozess ausgeführt wird?
*)Den es so nicht gibt. Siehe dazu FastUserSwitching und TerminalSessions.
Zu GetUserNameEx:
| Zitat: |
| Retrieves the name of the user or other security principal associated with the calling thread. |
Du bekommst also den Benutzer, der den Thread ausführt, in dem die Funktion aufgerufen wurde. Und das hat die Funktion auch schon vor Windows Vista gemacht, ihr habt es wohl nur nicht gemerkt, weil euer Program, aus was für Gründen auch immer, als Administrator ausgeführt wurde, weil immer nur als Administrator an dem Rechner gearbeitet wurde. Überlegt, ob wirklich administrative Rechte für das Programm notwendig sind.