1

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

用户名 = 当前 Windows 用户。

我在一个 WPF 项目中工作。

4

2 回答 2

6

您应该使用Environment.UserNamemsdn):

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

例子:

Console.WriteLine("UserName: {0}", Environment.UserName);
于 2013-07-28T08:52:27.377 回答
5

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

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

或者

string userName = System.Environment.UserName

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

此评论解释了两者之间的区别:

首选的原因WindowsIdentity.GetCurrent()是这会返回应用程序正在运行的帐户。这不一定是当前登录到 Windows 的帐户(想想“RunAs”或模拟/委托)。因此,如果您想知道登录用户,请使用环境(如果您信任它)。如果您想知道您的应用程序正在运行的安全上下文,请使用 WindowsIdentity.GetCurrent().

于 2013-07-28T13:16:21.563 回答