質問
特定のデバイスがUSBポートに接続されたことを検出する方法はありますか?ラップトップをドッキングステーションに接続すると、さまざまなキーボード、マウス、モニター。具体的には、G15キーボードの一部のソフトウェアに問題があり、メディアプレーヤーが正しく閉じられません。
できれば.NETでお願いしますが、そうでない場合は提案をお願いします。
解決
SharpUSBLib を使用してみてください。 libusbプロジェクトのC#ラッパーです。
以下のコードサンプルを貼り付けます(ダウンロードに含まれています-自分で試してみてください)。とても簡単そうに思えますが、USBを介してラップトップに接続されたデバイスに関する多くの情報を提供すると思います。
foreach (Bus bus in Bus.Busses)
{
Console.WriteLine(bus);
foreach (Descriptor descriptor in bus.Descriptors)
{
Console.WriteLine("\t" + descriptor);
try
{
using (Device device = descriptor.OpenDevice())
{
Console.WriteLine("\t\t Product: " + device.Product);
Console.WriteLine("\t\tManufacturer: " + device.Manufacturer);
Console.WriteLine();
}
}
catch (UsbException e)
{
Console.WriteLine("Got Exception : " + e);
}
}
}
他のヒント
WMIを調べてハードウェア情報を取得できます。
所属していません StackOverflow