从 .net 应用程序检测训练营



我目前正在开发一个用WPF(C#(编写的Windows应用程序,我希望仅在应用程序在通过Bootcamp运行Windows的Apple计算机上运行时启用某些功能。我在任何地方都没有找到关于它的任何问题,也没有在网上找到解决方案。是否有可能检测到训练营?如果是这样,如何?

我从未想过检查 BIOS 供应商信息。感谢凯尔的想法。这是针对其他人的解决方案:

首先,您需要添加System.Management作为参考。您还需要添加以下命名空间:

using System.Management;
using Windows.System;

在此之后,您将需要以下代码来了解该机器是否由Apple制造:

public bool IsMadeByApple()
{
    ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_BIOS");
    ManagementObjectCollection collection = searcher.Get();
    string manufacturer = "";
    foreach (ManagementObject obj in collection)
    {
        manufacturer = (string)obj["Manufacturer"]; // Will be "Apple Inc." if it's an Apple computer
    }
    return (manufacturer == "Apple Inc.");
}

你可以像这样使用它:

MessageBox.Show(IsMadeByApple().ToString());

这将弹出一个消息框。如果是Apple计算机,它会说"真",如果不是,那么它会说"假"。

此解决方案仅在运行训练营的 2015 年初 MacBook Pro 上进行测试。此解决方案可能不适用于不同的模型,但可能会起作用。

相关内容

  • 没有找到相关文章

最新更新