2014-02-15 104 views
-1

是否有可能從非管理員用戶獲得登錄用戶的用戶名,域名和SID的資源?如果是的話,有人可以提供一些示例代碼,或者我應該從哪裏開始?如何從非管理員用戶獲取當前登錄的用戶名,域名和用戶sid?

在此先感謝!

+0

您是指當前運行某個特定程序的用戶的名稱,您想要添加「獲取用戶名等」,或者您的意思是「列出當前登錄到此機器的所有用戶」?我很確定,出於安全原因,後者不可能通過公共可用的API。 –

+0

@MatsPetersson:我的意思是,我有一個.exe,說myapp.exe。有一個dministrator用戶登錄,比方說管理員。但myapp.exe將以非管理員用戶的身份運行。在今年秋天有可能得到誰登錄? – kampi

+0

我相信這是可能的,但C++可能不是理想的語言。顯然,任務管理器上的「用戶」選項卡可以顯示此信息,因此信息可用。 sysinternals.com有一個psloggedon工具,它可能做你想做的。這是用C或C++編寫的,但我懷疑他們發佈了源代碼(它們不適用於其他工具) –

回答

2

嘗試這樣:

  1. 使用ProcessIdToSessionId()獲得該進程是運行中的會話ID
  2. 使用WTSQuerySessionInformation()獲得與會話相關的用戶名和域名。使用LookupAccountName()來獲取域用戶的SID。
+0

非常感謝!這工作完美,但insup的'LookupAccountSid'我不得不使用'LookupAccountName'。 – kampi

+0

你說得對。我的錯。我做了更正。 –

相關問題