在Windows通用应用程序(Windows 10)中使用C#获取设备信息

9
我想知道如何使用C#在新的通用Windows应用平台上以编程方式获取设备特定信息。这是为了将我拥有的简单PC工具箱从旧的Windows表单项目现有的C#代码移到Windows 10中的UAP。
我想获取已安装(或可用)的总RAM,CPU架构和ID /名称(例如64位Intel Core i5-XXXX),设备制造商和型号号(Dell XPS XXXX)以及序列号/服务标签。
这些应用程序将使用Windows 10,并且此应用程序最初将针对传统PC进行调整,但我希望将其扩展到具有有限功能的Windows Phone / Mobile(不确定某些部分是否适用于ARM)。我如何检测Windows 10的哪个版本,例如“Home”,“Pro”,“Enterprise”,“Mobile”或“Mobile Enterprise”,以及32/64位和语言?
我已经有现有的C#代码,该代码使用的库似乎无法与Windows Store应用程序一起使用。
我对C#很生疏,但对任何类或引用的帮助都将不胜感激。我意识到存储所有这些规格的所有代码可能有点太多(即使在当前情况下也难以实现),但指向正确方向的指针将非常有帮助。

嗨,林肯,我尝试在下面提供了一个答案。如果对你有用,请告诉我。谢谢。 - Rami Sarieddine
2个回答

5
您可以访问AnalyticsInfo和AnalyticsVersionInfo获取信息,如文档页面所述(https://msdn.microsoft.com/en-us/library/windows/apps/windows.system.profile.analyticsinfo.aspx)。
但如果您想获得HardwareIdentification信息,则需要在其他地方查找,因为它不是通用设备系列的一部分,而是桌面和移动系列(设备系列特定)的一部分。
要获得此类设备特定信息,必须添加对设备特定扩展的引用。
无论如何,从8.x到UWP,用于收集这些数据的API已更改。我发现了一篇博客文章<https://www.suchan.cz/2015/08/uwp-quick-tip-getting-device-os-and-app-info/>,其中有人创建了一个帮助类,例如从Windows 10 UWP应用程序检索以下属性。

当前操作系统系列 - 手机/桌面/...

当前操作系统版本号 - 10.0.10240.16413

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

当前应用程序显示名称

当前应用程序版本号 - 3.0.2.0

当前设备制造商 - Nokia

当前设备型号 - Lumia 1520

在他的帖子中,他展示了如何获取有关当前设备、操作系统和应用程序的基本数据。希望这能帮助到您!



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接