我试图获取用户的全名。 不是login名,而是Windows 7中开始菜单右上angular显示的全名。它可能只显示为活动目录设置中的全名。
os.environ['USERNAME'] win32api.GetUserName()
这两个都返回login名。 我如何获得用户的全名?
有一点谷歌搜索给了我这个链接
和这个代码:
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
经过测试,可以在Windows XP上运行
正如OP在这里评论的那样, pywin32把这个相同的API调用包装成一个更简单的函数:
win32api.GetUserName(3)
GetUserName指向ctypes.windll.secur32.GetUserNameExW , 3与ctypes的常量相同