好吧,我之前发布了这个问题,但在标记为重复之前我没有得到正确的答案。我认为这是一个不同的问题,我使用的所有方法都会返回错误的输出。
我想知道如何解决这个问题。示例输出在这里:
代码:
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)
' System.DirectoryServices.AccountManagement.UserPrincipal.Current.DisplayName()
End Sub
End Class
我甚至不知道此Windows用户名的正确术语/名称。
答案 0 :(得分:2)
使用System.DirectoryServices.AccountManagement.UserPrincipal.Current.DisplayName
正如此主题的回复所述,您可以通过在项目中添加对System.DirectoryServices.AccountManagement.dll
的引用来使用此功能。