我有一个Access数据库,需要使用Environ(“USERNAME”)检查用户的用户名.
虽然这适用于使用Win7的用户,但我最近升级到Win8,代码在我的笔记本电脑上返回文本“User”.我也尝试过CreateObject(“WScript.Network”).用户名具有相同的结果.
虽然这适用于使用Win7的用户,但我最近升级到Win8,代码在我的笔记本电脑上返回文本“User”.我也尝试过CreateObject(“WScript.Network”).用户名具有相同的结果.
>这是Windows 8的事情,当其他用户升级时我会遇到问题吗?
>有没有办法可以更改/配置这个“用户”文本?我的笔记本电脑没有连接到其他用户正在使用的公司网络,因此当他们升级到Win8时,他们的笔记本电脑将返回正确的网络用户名.
解决方法
我会使用这个Windows API调用:
Private Declare Function GetUserName Lib "advapi32.dll" Alias "GetUserNameA" _ (ByVal lpBuffer As String,nSize As Long) As Long Public Function GetWindowsUserName() As String Dim strUserName As String strUserName = String(100,Chr$(0)) GetUserName strUserName,100 GetWindowsUserName = Left$(strUserName,InStr(strUserName,Chr$(0)) - 1) End Function