gpt4 book ai didi

windows-8 - 从 Metro 应用程序检测桌面可用性(检测 ARM、检测 Windows RT 系统)

转载 作者:行者123 更新时间:2023-12-02 23:49:37 29 4
gpt4 key购买 nike

这是一个与 Get OS-Version in WinRT Metro App C# 相关的问题但不是它的重复项。

是否有任何选项可以从 Metro 应用程序检测系统上是否有可用的桌面功能?据我所知,不支持检测操作系统版本,在我看来这是可以的。

但是,我的 Metro 应用程序需要知道其运行的系统上是否有可用的桌面。

我所说的桌面是指可扩展桌面 - 可以安装第 3 方桌面应用程序的桌面。据我们所知,基于 ARM 的设备也将拥有桌面,但仅限于 Microsoft 内置程序。

我能否区分我的 Metro 应用是在具有不可扩展桌面的基于 ARM 的平板电脑上运行,还是在具有可扩展桌面的所有其他(基于 Intel 的)设备上运行?

最佳答案

经过一些更广泛的搜索,我发现 GetNativeSystemInfo方法。提示就在 SO 网站上 - 这个 question 。这种方法似乎得到了 Windows 应用商店应用程序的完全支持 - 尽管使用了 pinvoke,但 App Cert Kit 测试仍运行顺利。

我最终得到了以下代码:

    [DllImport("kernel32.dll")]
internal static extern void GetNativeSystemInfo(ref SystemInfo lpSystemInfo);

internal static bool IsArmBased()
{
var sysInfo = new SystemInfo();
GetNativeSystemInfo(ref sysInfo);
return sysInfo.wProcessorArchitecture == ProcessorArchitectureArm; //ushort 5
}

这似乎是我一直在寻找的解决方案。如果没有,请告诉我,或者让我知道与这种方法相关的任何问题。谢谢。

关于windows-8 - 从 Metro 应用程序检测桌面可用性(检测 ARM、检测 Windows RT 系统),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12272399/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com