有没有办法将 Windows 登录信息传递给 Access 中的字符串?我需要一种自动检测位于中央位置的多用户数据库中的用户的方法。提前致谢。
问问题
123 次
3 回答
2
这是我在带有 Windows XP 和 Windows 7 机器的域网络上使用的内容。我不确定它如何在非域网络上工作,或者你根本没有网络。
Public Function GetComputerUserName()
Dim objnet As Object
Set objnet = CreateObject("WScript.Network")
GetComputerUserName = objnet.UserName
Set objnet = Nothing
End Function
于 2012-10-15T13:13:03.147 回答
1
The most reliable way is to use a Windows API call:
'This line must go at top of module
Private Declare Function WNetGetUser& Lib "Mpr" Alias _
"WNetGetUserA" (lpName As Any, ByVal lpUserName$, lpnLength&)
Function GetUserName() As String
Const MaxNameLength As Long = 256
Dim ret As Long, UserName As String
UserName = Space(256)
ret = WNetGetUser(ByVal 0&, UserName, MaxNameLength)
If ret = 0 Then
'Success - strip off the null.
UserName = Left(UserName, InStr(UserName, Chr(0)) - 1)
Else
UserName = ""
End If
GetUserName = LCase$(UserName)
End Function
于 2012-10-15T13:10:18.037 回答
0
你可以;
user = Environ$("USERNAME")
于 2012-10-15T16:06:14.237 回答