我目前正在开发一个用WPF (C#)编写的Windows应用程序,我希望只有当应用程序在通过引导营运行Windows的苹果计算机上运行时,才能启用该应用程序。我没有在任何地方找到关于它的任何问题,也没有在网上找到任何解决办法。能探测到布特夏普吗?如果是这样的话,是怎么做的?
发布于 2018-01-11 18:18:15
我从未想过要检查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());这将弹出一个消息框。如果它是苹果电脑,它会说“真”,如果不是,它会说“假”。
这一解决方案只在2015年初的MacBook Pro运行训练营上进行测试。这个解决方案可能在不同的模型上不起作用,但很可能会起作用。
https://stackoverflow.com/questions/48211227
复制相似问题