如何获取已登录用户的显示名称?不是用户名,而是显示名称,如下面的屏幕截图所示 - 并且可以在任何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
答案 0 :(得分:57)
您应该使用UserPrincipal.DisplayName
:
System.DirectoryServices.AccountManagement.UserPrincipal.Current.DisplayName
为此,您需要在项目中添加对System.DirectoryServices.AccountManagement.dll
的引用。
答案 1 :(得分:-2)
试试这个
http://msdn.microsoft.com/en-us/library/sfs49sw0(v=vs.110).aspx
using System.IO;
using System;
using System.Security.Principal;
class Program
{
static void Main()
{
Console.WriteLine(WindowsIdentity.GetCurrent().Name);
}
}
答案 2 :(得分:-3)
这包含在System.DirectoryServices
命名空间中,因此您需要在using
部分添加此内容。
然后您可以使用System.DirectoryServices.AccountManagement.UserPrincipal.Current.DisplayName
返回Display Name
。这通常显示在“开始”菜单中。