如何获得Windows用户的全名在Python中?

我试图获取用户的全名。 不是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.GetUserNameExW3ctypes的常量相同