ログインしているユーザーの表示名を取得するにはどうすればよいですか? ユーザー名ではなく、下のスクリーンショットに示すような表示名であり、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
UserPrincipal.DisplayName
を使用する必要があります。
System.DirectoryServices.AccountManagement.UserPrincipal.Current.DisplayName
そのためには、プロジェクトのSystem.DirectoryServices.AccountManagement.dll
への参照を追加する必要があります。