2017-05-06 12 views
1

私はC#でかなり初心者ですが、残念ながらusbポートのVIDとPIDを発見する必要があります。WMIのプロパティを取得

ObjectQuery objectQuery = new ObjectQuery("SELECT * FROM Win32_PnPEntity WHERE ConfigManagerErrorCode = 0"); 
ManagementObjectSearcher comPortSearcher = new ManagementObjectSearcher(connectionScope, objectQuery); 

using (comPortSearcher) 
{ 
    string caption = null; 
    foreach (ManagementObject obj in comPortSearcher.Get()) 
    { 
     if (obj != null) 
     { 
      object captionObj = obj["Caption"]; 
      // Rest of code 
     } 
    } 
} 

このキー"Caption"から来whre私は実際に理解することはできません。このオブジェクトに隠されている他のキーを知るにはどうすればよいですか?私にとっては非常に不明です。 そのようなもののリストを得るにはどうすればいいですか"Keys"

+0

に1つの方法です。そのプロパティにドリルすることができます。 – Crowcoder

+0

残念ながら私は成功しませんでした –

答えて

1

このコードはWMIの異なるプロパティでアクセスします。具体的にはWin32_PnPEntityクラスは、プラグアンドプレイデバイスのプロパティを表します。

Win32_PnPEntity class MSDNの詳細を参照してください、それはプロパティです:

[Dynamic, Provider("CIMWin32"), UUID("{FE28FD98-C875-11d2-B352-00104BC97924}"), AMENDMENT] 
class Win32_PnPEntity : CIM_LogicalDevice 
{ 
    uint16 Availability; 
    string Caption; 
    string ClassGuid; 
    string CompatibleID[]; 
    uint32 ConfigManagerErrorCode; 
    /* Rest of properties... */ 
}; 

ManagementObjectSearcherは `obj`変数を検査するために、デバッガを使用しretrieve information of a WMI Class

+0

ありがとうございました。それは私の問題を分類した。私は7分で答えとしてそれを受け入れる(かなり前にそれを行うことができない理由は非常に興味深い) –

+0

@ PeterJ - あなたは歓迎です:)そして答えを受け入れることに感謝:)期間について:[なぜできません私は質問をしてから最初の15分で回答を受け入れますか?](https://meta.stackoverflow.com/q/250132/6400526);) –

関連する問題