和此代码:
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
与3
中的常量相同ctypes