如何检查系统是否在 C# 中具有 AMD 或 NVIDIA



我正在尝试使用C#制作以太坊挖矿客户端,我需要检查系统是否有AMD或NVIDIA。这是因为程序需要知道它是否应该通过 CUDA 或 OpenCL 挖掘以太坊。

您需要使用 System.Management Namespace(您可以在 references/Assemblies 下找到(

添加命名空间后,您需要导航 ManagementObject 的所有属性并导航属性数据的所有属性,直到在名称属性上建立描述。

我为控制台应用程序编写了此解决方案。您可以调整您的解决方案。

试试这个:

 using System;
 using System.Management;
 namespace ConsoleApp1
 {
 class Program
 {
    static void Main(string[] args)
    {
        ManagementObjectSearcher searcher = new 
 ManagementObjectSearcher("SELECT * FROM Win32_DisplayConfiguration");
        string gc = "";
        foreach (ManagementObject obj in searcher.Get())
        {
            foreach (PropertyData prop in obj.Properties)
            {
                if (prop.Name == "Description")
                {
                    gc = prop.Value.ToString().ToUpper();
                    if (gc.Contains("INTEL") == true)
                    {
                      Console.WriteLine("Your Graphic Card is Intel");
                    }
                    else if (gc.Contains("AMD") == true)
                    {
                        Console.WriteLine("Your Graphic Card is AMD");
                    }
                    else if (gc.Contains("NVIDIA") == true)
                    {
                        Console.WriteLine("Your Graphic Card is NVIDIA");
                    }
                    else
                    {
                        Console.WriteLine("Your Graphic Card cannot recognized.");
                    }
                    Console.ReadLine();
                }
            }
        }
    }
}
}

最新更新