2017-02-22 34 views
0

我想用C#做一个硬件监控程序。我找到了在堆栈溢出页面上获取处理器名称的代码。现在我想获取GPU名称,但是我找不到任何地方的查询。我看了很多,但因为我的学校最近网络很差,所有网页中有90%没有加载,所以我在这点上有点迷糊。ManagementObjectSearcher组件查询

使用的代码:

public string GetCPUInfo() 
{ 
    ManagementObjectSearcher mosProcessor = new ManagementObjectSearcher("SELECT * FROM Win32_Processor"); 
    string Procname = null; 

    foreach (ManagementObject moProcessor in mosProcessor.Get()) 
    { 
     if (moProcessor["name"] != null) 
     { 
      Procname = moProcessor["name"].ToString(); 
     } 
    } 
    lblCPUNameRdv.Text = Procname; 
    return Procname; 
} 

我在哪里可以找到所有的查询中使用,以获得特定的信息?

示例=

SELECT * FROM Win32_Processor 
+2

http://superuser.com/questions/1089440/determine-what-gpu-is-running -through-wmi/1095198,http://www.activexperts.com/admin/scripts/wmi/powershell/ – CodeCaster

+1

[另一个工具](https://wmie.codeplex.com/)可能会帮助您浏览WMI – lokusking

回答

1

使用此链接:How get GPU information in C#?

using System.Management; 

public partial class Win_Win32_VideoController : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 
ManagementObjectSearcher objvide = new ManagementObjectSearcher("select * from Win32_VideoController"); 

     foreach (ManagementObject obj in objvide.Get()) 
     { 
      Response.Write("Name - " + obj["Name"] + "</br>"); 
      Response.Write("DeviceID - " + obj["DeviceID"] + "</br>"); 
      Response.Write("AdapterRAM - " + obj["AdapterRAM"] + "</br>"); 
      Response.Write("AdapterDACType - " + obj["AdapterDACType"] + "</br>"); 
      Response.Write("Monochrome - " + obj["Monochrome"] + "</br>"); 
      Response.Write("InstalledDisplayDrivers - " + obj["InstalledDisplayDrivers"] + "</br>"); 
      Response.Write("DriverVersion - " + obj["DriverVersion"] + "</br>"); 
      Response.Write("VideoProcessor - " + obj["VideoProcessor"] + "</br>"); 
      Response.Write("VideoArchitecture - " + obj["VideoArchitecture"] + "</br>"); 
      Response.Write("VideoMemoryType - " + obj["VideoMemoryType"] + "</br>"); 
     } 
    } 
} 

由于

+0

即使是tho,th是我需要继续编码,这不是我正在寻找的awnser。我正在寻找我可以找到搜索这些信息所需查询的位置。 –

+0

阅读本文并尝试谷歌WQL查询。 https://dotnetcodr.com/2014/11/21/finding-all-wmi-class-names-within-a-wmi-namespace-with-net-c/。网上有很多可用的资源。 – Brijesh