我知道至少有两种方法可以在 Access 应用程序中检索用户名。
你可以使用environ函数:
environ("username")
您可以在 advapi32.dll 中使用 GetUsername
Public Declare Function GetUserName& Lib "advapi32.dll" Alias _
"GetUserNameA" (ByVal lpBuffer As String, nSize As Long)
s = String(l, Chr(32))
GetUserName s, l
username = Left$(s, l - 1)
以上哪种方法最安全?为什么?
也许是一些背景信息,这些应用程序在本地计算机和远程桌面上都使用。
最佳答案
正如 Simon 所说,Environ 变量是可以操作的,但是有些人也喜欢避免 api 调用,如果是这种情况,那么这是一个简单的替代方案:
Public Function GetUser() As String
Dim WNet As Object
Set WNet = CreateObject("WScript.Network")
GetUser = WNet.UserName
Set WNet = Nothing
End Function
关于ms-access - environ ("username") 与 advapi32.dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8987561/