2009-04-21 5 views
3

J'écris un programme pour surveiller un périphérique spécifique. Ce dispositif peut ou ne peut pas être toujours connecté, et lorsqu'il est connecté peut être connecté à l'un quelconque de plusieurs ports différents; J'aimerais que mon programme gère cela avec élégance.Comment puis-je recevoir des notifications lorsqu'un périphérique USB est connecté?

Existe-t-il un moyen de recevoir des notifications lorsqu'un périphérique USB spécifique est connecté, et de déterminer le port auquel il est connecté?

+0

qui OS? si ses fenêtres il y a beaucoup d'API pour la notification de suppression de périphérique. – Alphaneo

Répondre

1

Pour obtenir une information si un périphérique matériel a changé, vous pouvez ajouter le code suivant à votre formulaire principal:

/// <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); 
} 
Questions connexes