2012-04-10 42 views
1

我試着讓使用WMI
一些系統信息,但問題是,當我想例如圖形卡的信息。我得到很多司機(實際&虛擬)僅使用WMI查詢獲取真正的適配器信息?

ManagementObjectSearcher searcher = new ManagementObjectSearcher("select Name from " + key); 
foreach (ManagementObject share in searcher.Get()) 
{ 
    Console.WriteLine(share["Name"].ToString()); 
} 

結果是:
Radmin的鏡像驅動程序V3
的ATI Mobility Radeon HD 5650
LogMeIn的鏡像驅動程序
PCI GDIHOOK5

,所以我十二月ided編輯查詢來獲取只有真正的一個。在這種情況下,真正應該已經AdapterRam那不等於空

ManagementObjectSearcher searcher = new ManagementObjectSearcher("select Name,AdapterRAM from " + key+" where AdapterRAM is not null"); 
foreach (ManagementObject share in searcher.Get()) 
{ 
    Console.WriteLine(share["Name"].ToString()); 
    Console.WriteLine(share["AdapterRAM"].ToString()); 
} 

結果是:
的ATI Mobility Radeon HD 5650
號的字節

有沒有一種更好和一般的方式來獲得WMI中真正的adpaters?

回答

0

找不到它,因爲您在查詢中只選擇了Name。用這個代替:

"select * from " + key+" where AdapterRAM is not null" 

至於第二個問題,我不確定,但好像你的記憶過濾器工作得很好。

+0

即時通訊真的很抱歉..我的錯..我編輯了我的問題..只想要一個通用的方式,只返回真正的驅動程序 – 2012-04-10 07:47:28

+0

仍然,答案是一樣的。我認爲AdapterRAM是相當不錯的過濾選項,所以你可以堅持下去,時間會告訴你。我沒有看到任何會給你100%保證的財產。 – 2012-04-10 08:00:03