GetUserName Win32 API出了什么问题?

时间:2009-06-05 01:56:05

标签: windows winapi

我正在使用GetUserName Win32 API来获取我的计算机的用户名,但是当我在家时使用我的VPN连接工作时,我发现用户名不同(仅大写与小写)。我想知道VPN客户端或其他软件是否会影响用户名?

3 个答案:

答案 0 :(得分:3)

GetUserName API声明:

  

检索用户的名称   与当前线程相关联。

     

使用GetUserNameEx函数   检索指定的用户名   格式。其他信息是   由IADsADSystemInfo提供   接口

因此看起来GetUserName使用IADsADSystemInfo来获取它的信息。

如果查看IADsADSystemInfo界面,您会看到它具有以下方法:

  

get_UserName
  检索活动   目录专有名称   当前用户,登录后的用户   用户或被用户冒充的用户   调用线程。

因此,当您通过VPN连接到域登录时,您很可能会获得当前用户的Active Directory专有名称,而当您不是时,您很可能会获得您输入的用户名(无论您输入的是什么情况) in)使用。登录计算机。

答案 1 :(得分:2)

此API返回登录计算机时用户键入的名称。因此,如果我的用户名是'esac',但我输入'Esac',此API将返回'Esac'。如果我输入“ESAC”,它也将返回。

答案 2 :(得分:0)

不是100%肯定,但我怀疑当你连接到域网络时,GetUserName最终会与DC通话,否则它将使用本地答案