我正在将 Windows 10 机器和 Visual Studio 2015 用于具有 Windows 运行时组件和通用 Windows 应用程序 (UWA) 的项目。UWA 参考了 Windows 运行时组件,该组件执行任务以获取登录用户的用户身份(Window NT ID 即“域名/用户名”)。创建 UWA 测试项目以调试运行时组件。如果我们在运行时组件中获取 UserIdentity,那么我们可以使用对我们的 Windows10 cordova 项目的组件引用来获取 javascript 中的 UserIdentity。
在这里,我们面临的问题是没有任何代码可以登录用户的域名/用户名。我们已将此代码从 Windows 8.1 升级到 10,此代码在 Windows 8.1 中运行良好,但在 Windows 10 中出现问题。以下是我们用于获取 UserIdentity 的代码:
public sealed class getNTID
{
public static IAsyncOperation<string> DownloadAsStringsAsync()
{
return Task.Run<string>(async () =>
{
IReadOnlyList<User> users = await User.FindAllAsync();
var current = users.Where(p => p.AuthenticationStatus == UserAuthenticationStatus.LocallyAuthenticated &&
p.Type == UserType.LocalUser).FirstOrDefault();
var data = await current.GetPropertyAsync(KnownUserProperties.AccountName);
return data.ToString();
}).AsAsyncOperation();
}
}
最后我们在数据变量中得到空字符串。如果有人分享他们的经验或者他们在提到的平台上遇到过这种问题,那就太好了。