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

时间:2013-07-28 08:51:13

标签: c# wpf

我想创建一个显示“欢迎用户名”的文本块。

username =当前Windows用户。

我在WPF项目中工作。

2 个答案:

答案 0 :(得分:6)

您应该使用Environment.UserNamemsdn):

  

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

示例:

Console.WriteLine("UserName: {0}", Environment.UserName);

答案 1 :(得分:5)

如果您想获得当前正在运行该流程的用户,请使用:

string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;

OR

string userName = System.Environment.UserName

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

this comment中解释了两者之间的差异:

  

更喜欢WindowsIdentity.GetCurrent()的原因是这会返回   应用程序运行的帐户。这不是   必须是当前登录到Windows的帐户(想想   “RunAs”或模仿/委托)。所以,如果你想知道   登录用户,使用环境(如果您信任它)。如果你想   使用,了解应用程序运行的安全上下文   WindowsIdentity.GetCurrent()