在Windows Universal App中使用C#获取设备信息(Windows 10)

时间:2015-05-26 13:51:08

标签: c# windows-10 win-universal-app uwp windows-8.1-universal

我想知道如何在新的通用Windows应用平台中使用C#以编程方式获取特定于设备的信息。这是为了从旧的Windows窗体项目的现有C#代码到Windows 10中的UAP,获得一个简单的PC工具箱。

我希望安装(或可用)总RAM,CPU架构和ID /名称(例如64位Intel Core i5-XXXX),设备制造商和型号(Dell XPS XXXX)以及序列号/ service tag。

这些应用程序将使用Windows 10并且此应用程序最初将面向传统PC,但我想扩展到具有有限功能的Windows Phone / Mobile(不确定如何/如果某些部件可以工作在ARM)。我如何检测哪个版本的Windows 10,例如“Home”,“Pro”,“Enterprise”,“Mobile”或“Mobile Enterprise”,以及32/64位和语言?

我现有的C#代码使用的库似乎不适用于Windows应用商店。

我对C#很生疏,但对任何类或参考文献的任何帮助都将不胜感激。我意识到获取存储所有这些规范的所有代码可能有点多(甚至可能是ATM),但是正确方向的指针会非常有用。

2 个答案:

答案 0 :(得分:5)

您可以使用AnalyticsInfo和AnalyticsVersionInfo获取相关信息,如文档页面所示(https://msdn.microsoft.com/en-us/library/windows/apps/windows.system.profile.analyticsinfo.aspx

如果您想获取HardwareIdentification信息,则需要查看其他地方,因为它不是通用设备系列的一部分,它是Desktop and Mobile系列的一部分(特定于设备系列)。

要获得此类型的设备特定信息,您必须添加对设备特定扩展的引用。

无论如何,用于收集这些数据的API已从8.x更改为UWP 。我找到了一篇博文< https://www.suchan.cz/2015/08/uwp-quick-tip-getting-device-os-and-app-info/>对于创建了一个帮助程序类的人,例如从Windows 10 UWP应用程序中检索以下属性

  

当前的OS系列 - 手机/台式机......

     

当前操作系统版本号 - 10.0.10240.16413

     

当前的操作系统架构 - x86 / x64 / ARM

     

当前的应用显示名称

     

当前应用版本 - 3.0.2.0

     

当前设备制造商 - 诺基亚

     

当前设备型号 - Lumia 1520

在他的文章中,他展示了如何获取有关当前设备,操作系统和应用程序的基本数据。希望它有所帮助!

答案 1 :(得分:-1)