2009-04-21 3 views
3

Ich schreibe ein Programm, um ein bestimmtes Gerät zu überwachen. Dieses Gerät kann oder nicht immer verbunden sein, und wenn angeschlossen kann an einen von mehreren verschiedenen Ports angeschlossen werden; Ich möchte, dass mein Programm das elegant behandelt.Wie kann ich Benachrichtigungen erhalten, wenn ein USB-Gerät angeschlossen ist?

Gibt es eine Möglichkeit, Benachrichtigungen zu erhalten, wenn ein bestimmtes USB-Gerät angeschlossen ist, und von dort aus festzustellen, an welchen Anschluss es angeschlossen ist?

+0

die OS? Wenn es Windows gibt, gibt es eine große API für die Benachrichtigung über die Entfernung von Geräten. – Alphaneo

Antwort

1

eine Information erhalten, wenn eine Hardware-Gerät, das Sie hat sich verändert den folgenden Code zu Ihrer Hauptform hinzufügen können:

/// <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); 
} 
Verwandte Themen