我試圖獲取用戶的全名。不是登錄名,而是Windows 7中開始菜單右上角顯示的全名。它可能只顯示爲活動目錄設置中的全名。如何在python中獲取Windows用戶的全名?
os.environ['USERNAME']
win32api.GetUserName()
這兩個都返回登錄名。我如何獲取用戶的全名?
我試圖獲取用戶的全名。不是登錄名,而是Windows 7中開始菜單右上角顯示的全名。它可能只顯示爲活動目錄設置中的全名。如何在python中獲取Windows用戶的全名?
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)
GetUserName
指向ctypes.windll.secur32.GetUserNameExW
,並3
從
只是想通了,你也可以使用win32api.GetUserName(3)如果你有pywin32安裝 –
偉大的一點。我已經更新了我的答案,以包括這個 – mhlester
並鏈接到文檔。 http://msdn.microsoft.com/en-us/library/windows/desktop/ms724435(v=vs.85).aspx。 EXTENDED_NAME_FORMAT解釋了此功能的不同參數。 –
是相同
3
作爲常量您是否嘗試過的其中一個選項? http://stackoverflow.com/questions/13654122/how-to-make-python-get-the-username-in-windows-and-then-implement-it-in-a-script –@NoelEvans那些返回登錄名字太 –