特定のデバイスを監視するプログラムを書いています。このデバイスは、常に接続されている場合とそうでない場合があり、接続されている場合は、いくつかの異なるポートのいずれかに接続されている可能性があります。私のプログラムでこれを適切に処理したいと思います。
特定の USB デバイスが接続されたときに通知を受け取り、そこからどのポートに接続されているかを判断する方法はありますか?
ハードウェアデバイスが変更された場合に情報を取得するには、メインフォームに次のコードを追加します。
/// <summary>
/// Windows Messages
/// Defined in winuser.h from Windows SDK v6.1
/// Documentation pulled from MSDN.
/// For more look at: http://www.pinvoke.net/default.aspx/Enums/WindowsMessages.html
/// </summary>
public enum WM : uint
{
/// <summary>
/// Notifies an application of a change to the hardware configuration of a device or the computer.
/// </summary>
DEVICECHANGE = 0x0219,
}
protected override void WndProc(ref Message m)
{
switch ((WM)m.Msg)
{
case WM.DEVICECHANGE:
//ToDo: put your code here.
break;
}
base.WndProc(ref m);
}