PCIのデバイス名を取得するには?

解決


シート  2004-06-03 10:28:59  No: 113664  IP: [192.*.*.*]

visual basic 5.0を使用しております。
現在PCIボードを使用してプログラムを作成しています。
PCIのボードの名前が変わることがあるらしいので、ボードの名前を入力しなければいけないのですが、
ボードの名前をある程度特定させ、その中からユーザーに選ばせるような仕様にしたいと思っております。
イメージとしてはデバイスマネージャーに出てくる一覧のそれぞれの名前を取得したいです。
デバイスマネージャーを目視で確認し、デバイス名を手入力するしかないのでしょうか?

編集 削除
ぴろあき  2004-06-03 11:34:21  No: 113665  IP: [192.*.*.*]

#Vb5で使用できるかどうかは知りません。
#OSによっては使用できません。

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_PnPEntity", , 48)
    
For Each objItem In colItems
    Debug.Print objItem.Caption
Next objItem

上記サンプルコードで、PnPデバイスの列挙ができますので、
これを応用してみてはどうでしょうか?

編集 削除
シート  2004-06-03 11:47:48  No: 113666  IP: [192.*.*.*]

おぉ!!
ありがとうございます。
ためしにコピペしたところ、ほしい情報が含まれた一覧が得られました。

このコードを使わせていただきたいと思います。
OSによっては使用できませんという部分が少し気になりますが、それも含めてもっと調べて応用しようと思います。

短時間での返信、ありがとうございました。

編集 削除