在Windows 10 C#UWP通用Windows应用程序中获取用户名

我正在为Windows 10 UWP世界中的另一个简单任务而苦苦挣扎。

我只需要当前的Windows用户的用户名。 Environment.UserName在UWP中不是什么东西。 到目前为止,没有任何networkingsearch的帮助。 因此我的职位在这里。

任何人? 这是不是现在可行?

谢谢。

1

  1. 添加“用户帐户信息”功能到您的应用程序
  2. 使用此代码获取用户显示名称:

    private async void Page_Loaded(object sender, RoutedEventArgs e) { IReadOnlyList<User> users = await User.FindAllAsync(); var current = users.Where(p => p.AuthenticationStatus == UserAuthenticationStatus.LocallyAuthenticated && p.Type == UserType.LocalUser).FirstOrDefault(); // user may have username var data = await current.GetPropertyAsync(KnownUserProperties.AccountName); string displayName = (string)data; //or may be authinticated using hotmail if(String.IsNullOrEmpty(displayName)) { string a = (string)await current.GetPropertyAsync(KnownUserProperties.FirstName); string b = (string)await current.GetPropertyAsync(KnownUserProperties.LastName); displayName = string.Format("{0} {1}", a, b); } text1.Text = displayName; } 

正如我所看到的,有一个User类可用(UWP): https : //msdn.microsoft.com/en-us/library/windows/apps/windows.system.user.aspx

尝试这个:

 var users = await User.FindAllAsync(UserType.LocalUser); var name = await users.FirstOrDefault().GetPropertyAsync(KnownUserProperties.AccountName); 

您也可以从Application.OnLaunched方法获取启动应用程序的用户,请参阅此处 。

尽管你仍然需要声明用户信息功能。

快速示例(省略号表示不适用的生成代码):

 sealed partial class App : Application { ... protected override void OnLaunched(LaunchActivatedEventArgs e) { User currentUser = e.User; ... } ... }