我的目标是使用 C# 检测多 GPU 系统上的离散显卡(例如集成的 Intel HD Graphics + 离散的 AMD Radeon 显卡)。
我通常使用以下代码:
String gpuName = String.Empty;
ManagementObjectCollection objectCollection =
new ManagementObjectSearcher("SELECT Name FROM Win32_VideoController").Get();
foreach (ManagementObject managementObject in objectCollection)
{
foreach (PropertyData propertyData in managementObject.Properties)
{
if ((gpuName == String.Empty) || (propertyData.Value.ToString().ToLower().IndexOf("intel") == -1))
{
gpuName = propertyData.Value.ToString();
break;
}
}
}
在我上面描述的示例中,它像魔法一样运行。
但是对于AMD、VIA等(我不确定所有制造商),集成显卡并不适用。
那么有没有通用的方法来禁用所有集成显卡呢?