我需要获取代码以在64位系统上检索VB(对于Access 2013)中当前会话的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
答案 0 :(得分: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位访问权限)
答案 1 :(得分:0)
这也应该有效:
Dim wshNet As Object
Set wshNet = CreateObject("WScript.Network")
MsgBox "Hello, " & wshNet.UserName & "!"
Set wshNet = Nothing