May
3
2009

[VB.NET] Detect whether the USB device is plugged in or taken out without timer


.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.

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

About the Author:

Hobbies: Reading books, listening to music, coding, robotics

3 Comments + Add Comment

  • Nice one, thx man :)

  • But, how do you know which device was removed? Can you get the USB Device name that is being removed or plugged in?

  • Thx ! Thx ! u are my hero ! :)

Leave a comment


Domain Registrations starting at $9.98*

Categories

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

EverBot twitter