DOBON.NET DOBON.NETプログラミング掲示板過去ログ

接続されているキーボードの一覧を取得する方法

環境/言語:[Windows XP VB.NET]
分類:[.NET]

いつもお世話になっております。

今回お聞きしたいのは、PCに接続されているキーボードの一覧を取得する方法です。
単純にキーボードが刺さっているかどうかであれば、GetKeyboardTypeで取得
出来ると思うのですが、複数のキーボードが刺さっている場合に
特定のキーボードが刺さっているか、刺さっていないかを判断したいのですが、
方法はあるでしょうか?

お分かりになる方がいらっしゃいましたら、よろしくお願いいたします。

以上
> 出来ると思うのですが、複数のキーボードが刺さっている場合に
> 特定のキーボードが刺さっているか、刺さっていないかを判断したいのですが、
> 方法はあるでしょうか?

なんとなくですが WMI で出来そうですね。
駄目なら Setup 系の API を使うことになるかな?
> なんとなくですが WMI で出来そうですね。
> 駄目なら Setup 系の API を使うことになるかな?

いけそうではあります。
Setup系のAPIなら確実っぽいですが、とりあえず出来上がり次第こちらにフィードバックいたします。

以上
WMIでの取得から。

参考にしたのはこちらのHP
http://codezine.jp/a/article.aspx?aid=351&p=1

キーボードの取得

Set objWMIService = GetObject( _
"winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colDiskDrives = _
objWMIService.ExecQuery("Select * from Win32_Keyboard")
For each objDiskDrive in colDiskDrives
Wscript.Echo "[" & objDiskDrive.Description & "] "
Next

こんな感じでキーボードの名称一覧が取得できました。
あとはこれをVB.NETに組み込むだけです。

SetupAPIの方についても出来上がりしだいフィードバックいたします。
ありがとうございましたぁ〜。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板