首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用VB.NET查找当前登录用户的用户名

使用VB.NET查找当前登录用户的用户名
EN

Stack Overflow用户
提问于 2014-06-23 10:58:21
回答 3查看 49.2K关注 0票数 10

我正在尝试获取当前用户的用户名。当我以Johnny Smith身份登录并在没有管理员权限的情况下运行我的应用程序时,它将返回正确的用户名Johnny Smith。但问题是,当我右键单击并选择“”时,Windows将提示我为管理员提供登录屏幕,登录后我的应用程序返回用户名admin,而不是当前登录的用户。

我试过:

代码语言:javascript
复制
strUserLabel.Text = Environment.UserName

也是

代码语言:javascript
复制
Dim WSHNetwork = CreateObject("WScript.Network")
Dim strUser = ""

While strUser = ""
    strUser = WSHNetwork.Username
End While

strUserLabel.Text = strUser

当提示为管理员时,两者都会返回管理员用户名。

EN

回答 3

Stack Overflow用户

发布于 2014-06-23 11:33:27

在MSDN文档中,我发现它们更改了属性Environment.UserName的定义。

在.NET 3之前

获取启动当前线程的人的用户名。

从第3版开始

获取当前登录到Windows操作系统的人的用户名

票数 11
EN

Stack Overflow用户

发布于 2019-02-01 17:20:20

我认为上面接受的答案是查找用户名的一种非常资源密集型的方法。它有包含数百个条目的嵌套循环。在我的8 takes个人电脑,这需要2+秒!

不如:

  • 用户名:SystemInformation.Username,以及
  • DomainName:Environment.UserDomainName

在VS2017中测试

票数 5
EN

Stack Overflow用户

发布于 2019-03-18 19:41:16

SystemInformation.Username不适用于某些应用程序。在我的例子中,代码是作为系统运行的,而explorer.exe是以丹尼尔的身份运行的。SystemInformation.Username报表系统。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24364172

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档