Подтвердить что ты не робот

Получить имя пользователя Windows

Как получить отображаемое имя пользователя, который вошел в систему? Не имя пользователя, но отображаемое имя, например, показано на скриншоте ниже - и как показано в меню "Пуск" на любом компьютере Windows Vista/7.

enter image description here

Я попробовал кучу разных предложений из других вопросов, но все они отображают имя пользователя, а не отображаемое имя. Вы можете увидеть результаты этих попыток в приведенном выше скриншоте.

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
4b9b3361

Ответ 1

Вы должны использовать UserPrincipal.DisplayName:

System.DirectoryServices.AccountManagement.UserPrincipal.Current.DisplayName

Для этого вам необходимо добавить ссылку на System.DirectoryServices.AccountManagement.dll в свой проект.

Ответ 3

Сначала необходимо импортировать сборку System.DirectoryServices. System.DirectoryServices.AccountManagement.UserPrincipal.Current.DisplayName Он возвращает отображаемое имя, которое отображается в меню "Пуск" ( "Нет идентификатора входа в систему" ). Спасибо Тиму.