2013-05-30 58 views
1

我需要獲取代碼以檢索64位系統上VB中的當前會話(用於Access 2013)的Windows用戶標識。如何檢索64位/ Access 2013的VB中的Windows用戶ID?

我試過在How to get logged-in user's name in Access vba?建議的解決方案,但顯然這不適用於我的64位機器。我也試圖找出如何整合信息在http://msdn.microsoft.com/en-us/library/office/gg278832.aspx,但我無法弄清楚。

我是NOVICE VB程序員,所以我真的需要實際的代碼來做到這一點。 (我可以[大概]找出&爲什麼代碼在看到它後會做它的功能,但在這一點上我無法從頭開始討論它。)

我希望這個答案會是對他人也有幫助。

非常感謝!

阿羅哈, -pt

回答

1

答案您鏈接到訪問的32位版本的作品。對於64個版本,你需要使用一個指針安全簽名:

Private Declare PtrSafe Function GetUserName Lib "advapi32.dll" Alias 
"GetUserNameA" (ByVal lpBuffer As String, nSize As LongPtr) As Long 

(它可能與nSize As Long工作 - 我不手邊有一個64位訪問)

0

這應該工作,太:

Dim wshNet As Object 
Set wshNet = CreateObject("WScript.Network") 
MsgBox "Hello, " & wshNet.UserName & "!" 
Set wshNet = Nothing 
相關問題