デバイスの種類を取得するには?


ぺん太  2007-01-31 23:25:33  No: 64336

VC++6.0、Win2000で開発したいと思ってるんですけど
デバイスマネージャーでプロパティを見たときに
デバイスの種類、製造元、場所、プロバイダって項目があるのですが
これはどうやったら(何の命令をつかったら)取得できるのでしょうか?
SetupDiGetClassDevs、SetupDiGetDeviceRegistryPropertyを使って
デバイスマネージャーっぽい情報はとってこれたのですが
デバイスの種類、製造元、場所、プロバイダは取れませんでした。
あまりVCで開発したこともなく、過去ログやググってみても
ピンときませんでした。
質問が大雑把で申し訳ないですが、どうかよろしくお願いします。


porin  2007-02-01 04:53:17  No: 64337

WMI を使ってみる
http://msdn2.microsoft.com/en-us/library/aa394582.aspx

※旧 MSDN から WMI がなくなってたorz

もしくは
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum
配下にデバイス一覧がぶら下がっているので
各デバイスにふられている ClassGUID を取得、
それを頼りに
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Class\(ClassGUID)
を調べればデバイス名等は取れた……はずです

一般的な API でも取る方法はありそうだとは思いますが
ちょっと私はわかりません


ぺん太  2007-02-01 20:25:21  No: 64338

porin様、回答ありがとうございます。
私も一般的なAPIで取る方法がないのかなと思ってるのですが
レジストリのキーを探る方法で行くしかないのですかね?
WinDriverとか(高い)DDKとかなら行けるような感じなんですが・・・
APIでも簡単にいけるのじゃないのかな・・・と勝手に推測しています。
とりあえずは、レジストリを探る方法でやってみようと思いますが
もし何かありそうでしたら、教えてください
m(__)m


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加