使用WinRT可以确定当前操作系统是否为:
有可能吗?
请注意,问题(http://stackoverflow.com/questions/10125324/get-os-version-in-winrt-metro-app-c-sharp)似乎是重复的,但它是预先发布的题。许多API在整个版本中都有所改变。这个问题的答案是,这是不可能的。这仍然是真的吗?当然没有。
答案 0 :(得分:1)
如果可以做到,那就不容易了,必须从运行系统的数据中推断出来。不幸的是,文档对此非常不清楚。例如,Metro样式应用程序允许GetNativeSystemInfo function。 See this list
但是,GetNativeSystemInfo的文档链接到an example有关如何获取使用Metro风格应用列表中不的几个API的操作系统版本,但示例仍然是在Metro docs下。还不清楚response from GetNativeSystemInfo在ARM处理器上的含义。
最重要的是,这是一种糟糕的方法,必然会导致代码的脆弱性。我的建议是避免尝试这样做。
答案 1 :(得分:0)
通过使用设备API获取低级系统组件(如HAL)的驱动程序版本号,您可以获得操作系统版本号,但可能存在风险可能不正确。
http://attackpattern.com/2013/03/device-information-in-windows-8-store-apps/有更多信息和示例代码(披露,我写了这篇帖子和代码)
答案 2 :(得分:0)
是的,使用webview似乎是一种可靠且快速的方式来获取正在运行的处理器。确定专业与企业。不,我找不到办法。
但是,如果您对如何确定处理器感兴趣并从那里开始? 在这里查看我的答案:https://stackoverflow.com/a/16996176/265706
答案 3 :(得分:-1)
看看这个:
var architecture = packageId.architecture;
var package = Windows.ApplicationModel.Package.current;
var packageId = package.id;
var version = packageId.version;
var output = [ "Name: \"" + packageId.name + "\"",
"Version: " + version.major + "." + version.minor + "."
+ version.build + "." + version.revision,
"Architecture: " + packageId.architecture,
"ResourceId: \"" + packageId.resourceId + "\"",
"Publisher: \"" + packageId.publisher + "\"",
"PublisherId: \"" + packageId.publisherId + "\"",
"FullName: \"" + packageId.fullName + "\"",
"FamilyName: \"" + packageId.familyName + "\"",
"IsFramework: " + package.isFramework ];