【发布时间】:2014-04-06 22:06:29
【问题描述】:
如何获取登录用户的显示名称?不是用户名,而是显示名,如下面的屏幕截图所示 - 在任何 Windows Vista/7 计算机的开始菜单上都可以看到。
我从其他问题中尝试了一堆不同的建议,但它们都显示用户名,而不是显示名称。您可以在上面的屏幕截图中看到这些尝试的结果。
Imports System.Security.Principal
Imports System.Threading
Imports System.IO
Imports System
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MsgBox("1: " & System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString & vbCrLf & _
"2: " & Environment.UserDomainName & vbCrLf & _
"3: " & WindowsIdentity.GetCurrent().Name & vbCrLf & _
"4: " & Thread.CurrentPrincipal.Identity.Name & vbCrLf & _
"5: " & Environment.UserName & vbCrLf & _
"6: " & My.User.Name & vbCrLf &
"7: " & My.Computer.Name)
End Sub
End Class
【问题讨论】:
-
Environment.UserName 在这里工作正常。
-
@Codemunkeee 为什么那里的答案“不是你想要的”?它会产生不正确的输出吗?
-
当然你必须隐藏对话框下唯一重要的代码。
-
如果您的应用程序在另一个用户下运行,您将获得另一个用户名。