[VB.NET] Detect whether the USB device is plugged in or taken out without timer
May 3rd, 2009
.NET programming
The following VB.NET code will help you to check whether a USB device is plugged in or taken out. No timer is used here. You can integrate this tip to your program just by copy and paste.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | Private WM_DEVICECHANGE As Integer = &H219 Public Enum WM_DEVICECHANGE_WPPARAMS As Integer DBT_CONFIGCHANGECANCELED = &H19 DBT_CONFIGCHANGED = &H18 DBT_CUSTOMEVENT = &H8006 DBT_DEVICEARRIVAL = &H8000 DBT_DEVICEQUERYREMOVE = &H8001 DBT_DEVICEQUERYREMOVEFAILED = &H8002 DBT_DEVICEREMOVECOMPLETE = &H8004 DBT_DEVICEREMOVEPENDING = &H8003 DBT_DEVICETYPESPECIFIC = &H8005 DBT_DEVNODES_CHANGED = &H7 DBT_QUERYCHANGECONFIG = &H17 DBT_USERDEFINED = &HFFFF End Enum Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message) If m.Msg = WM_DEVICECHANGE Then Select Case m.WParam Case WM_DEVICECHANGE_WPPARAMS.DBT_DEVICEARRIVAL MsgBox("USB device is just plugged in!") Case WM_DEVICECHANGE_WPPARAMS.DBT_DEVICEREMOVECOMPLETE MsgBox("USB device is just taken out") End Select End If MyBase.WndProc(m) End Sub |