如何在python中获取Windows用户的全名?

我正在尝试获取用户的全名.不是登录名,而是Windows 7中开始菜单右上方显示的全名.它可能仅在活动目录设置中显示为全名.os.environ[USERNAME]win32api.GetUserName()它们都返回登录名.如何获得用户的全名?解决方法...

我正在尝试获取用户的全名.不是登录名,而是Windows 7中开始菜单右上方显示的全名.它可能仅在活动目录设置中显示为全名.

os.environ['USERNAME']
win32api.GetUserName()

它们都返回登录名.如何获得用户的全名?

解决方法:

有点谷歌搜索给我this link

和此代码:

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)

指向ctypes.windll.secur32.GetUserNameExW的GetUserName,并且3与ctypes中的常量相同

本文标题为:如何在python中获取Windows用户的全名?

基础教程推荐