我想创建一个显示“欢迎用户名”的文本块。
username =当前Windows用户。
我在WPF项目中工作。
答案 0 :(得分:6)
您应该使用Environment.UserName
(msdn):
获取当前登录到的用户的用户名 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()
。