Bei meinem Python Projekt soll in der GUI der volle Name des aktuell am System angemeldeten Beutzers angezeigt werden. Wird das Programm nicht unter Windows ausgeführt, soll der Benutzernamen angezeigt werden.
Die Ermittlung des Names funktioniert momentan mit folgendem Code:
Code: Alles auswählen
import win32com.client
import getpass
self.__Benutzername = getpass.getuser()
if sys.platform == 'win32':
objWMIService = win32com.client.Dispatch('WbemScripting.SWbemLocator')
objSWbemServices = objWMIService.ConnectServer('.','root\cimv2')
colItems = objSWbemServices.ExecQuery('Select * from Win32_UserAccount')
for objItem in colItems:
if objItem.Name == self.__Benutzername:
self.__Name = objItem.FullName
else:
self.__Name = self.__Benutzername
Um die Iteration zu umgehen, habe ich anstatt
Code: Alles auswählen
colItems = objSWbemServices.ExecQuery('Select * from Win32_UserAccount')
Code: Alles auswählen
colItems = objSWbemServicess.Get('Win32_UserAccount.Name='Benutzername'')
Kann mir vielleicht einer von euch weiterhelfen?
Gruß,
Simon[/code]