gpt4 book ai didi

c# - 在 Universal App (Windows) 中检测 CPU 是否为 64 位

转载 作者:太空狗 更新时间:2023-10-29 21:53:47 25 4
gpt4 key购买 nike

我有一个使用 PlayReady DRM 保护视频的通用应用程序。 PlayReady 的问题在于它仅在应用程序构建架构与 CPU 架构匹配时才有效(例如:ARM 在 ARM 上构建,x64 在 64 位 CPU 上,x86 在 32 位 CPU 上)。这是设计使然(出于某种原因)。

所以问题是,如果用户拥有 64 位 CPU 并运行 32 位操作系统。在这种情况下,他从商店获得了 x86 构建(因为 32 位操作系统),但 PlayReady 将无法工作,因为 64 位 CPI 与 X86 构建不匹配。在这种情况下,我想显示一条消息(而不是播放视频失败)。

我可以轻松检测 x86 构建(通过添加条件符号),但如何检测 CPU 是否为 64 位?完整 .NET 中的 System.Environment.Is64BitOperatingSystem 完全不同。

最佳答案

您可以 P/Invoke Win32 的 GetNativeSystemInfo在 Windows 应用商店应用中(有关 P/Invoke 签名的更多信息 here );它返回一个包含处理器架构的结构。
我找不到任何关于它在 x64 机器上的 x86 Windows 场景中返回什么的信息,而且我手头没有这样的机器来测试它,但值得一试。

关于c# - 在 Universal App (Windows) 中检测 CPU 是否为 64 位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29772068/

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