2016-05-30 5 views
1

Я использовал этот код для поиска графических карт:Как найти активные (в использовании) графические карты? C#

 ManagementScope scope = new ManagementScope("\\\\.\\ROOT\\cimv2"); 
     ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_VideoController"); 
     ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query); 
     ManagementObjectCollection queryCollection = searcher.Get(); 
     string graphicsCard = ""; 
     foreach (ManagementObject mo in queryCollection) 
     { 
      foreach (PropertyData property in mo.Properties) 
      { 
       if (property.Name == "Description") 
       { 
        graphicsCard += property.Value.ToString() + " "; 
       } 
      } 
     } 

У меня есть две графические карты:

My Graphic Cards

Над возвращением кода все графические карты.

Как найти активную графическую карту, выбранную окнами?

+0

проверить это: http://stackoverflow.com/a/16152623/5703284 – HudsonPH

ответ

3

попробовать этот

ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_VideoController"); 
string graphicsCard = string.Empty; 
foreach (ManagementObject obj in searcher.Get()) 
{ 
     if (obj["CurrentBitsPerPixel"] != null && obj["CurrentHorizontalResolution"] != null) 
     { 
      graphicsCard = obj["Name"].ToString(); 
     } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^