如何显示当前用户的姓名?

use*_*151 1 c# wpf

我想创建一个显示"欢迎用户名"的文本块.

username =当前Windows用户.

我在WPF项目中工作.

kma*_*zek 6

你应该使用Environment.UserName(msdn):

获取当前登录到Windows操作系统的人员的用户名.

例:

Console.WriteLine("UserName: {0}", Environment.UserName);
Run Code Online (Sandbox Code Playgroud)


Roh*_*ats 5

如果要获取当前正在运行该过程的用户,请使用:

string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
Run Code Online (Sandbox Code Playgroud)

要么

string userName = System.Environment.UserName
Run Code Online (Sandbox Code Playgroud)

但是,您获得的用户Environment.UserName不能保证是运行当前进程的用户.

本评论中解释了两者之间的差异:

更喜欢的原因WindowsIdentity.GetCurrent()是它返回运行应用程序的帐户.这不一定是当前登录到Windows的帐户(想想"RunAs"或模拟/委派).因此,如果您想了解登录用户,请使用环境(如果您信任它).如果您想知道应用程序运行的安全上下文,请使用 WindowsIdentity.GetCurrent().