这个问题在这里已有答案:
我想获取用户当前登录的完整显示名称。我在Active Directory登录,所以通常我很容易获得用户名,但我正在寻找用户的显示名称。
path = os.path.join('..','Documents and Settings',getpass.getuser(),'Desktop')os.getlogin()
这不起作用,因为它给用户名而不是显示名称。
这是你想要的吗?
import ctypes
def get_display_name():
GetUserNameEx = ctypes.windll.secur32.GetUserNameExW
NameDisplay = 3
size = ctypes.pointer(ctypes.c_ulong(0))
GetUserNameEx(NameDisplay, None, size)
nameBuffer = ctypes.create_unicode_buffer(size.contents.value)
GetUserNameEx(NameDisplay, nameBuffer, size)
return nameBuffer.value
print(get_display_name())
第二个脚本
user_info = win32net.NetUserGetInfo(win32net.NetGetAnyDCName(), win32api.GetUserName(), 2)
full_name = user_info["full_name"]
print(full_name)