我正在尝试获取用户的全名。不是登录名,而是Windows 7中开始菜单右上角显示的全名。它可能仅在活动目录设置中显示为全名。
os.environ['USERNAME'] win32api.GetUserName()
它们都返回登录名。如何获得用户的全名?
有点谷歌搜索给我这个链接
和此代码:
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调用包装为一个更简单的函数:
pywin32
win32api.GetUserName(3)
GetUserName指向ctypes.windll.secur32.GetUserNameExW,并且3与3中的常量相同ctypes
GetUserName
ctypes.windll.secur32.GetUserNameExW
3
ctypes