1、本文来介绍一下,利用VB.Net检测U盘插拔状态并读写的方法代码如下:Imports System.IOPublic Class Form1Class Form1 Public Const WM_DEVICECHANGE = &H219 Public Const DBT_DEVICEARRIVAL = &H8000 Public Const DBT_CONFIGCHANGECANCELED = &H19 Public Const DBT_CONFIGCHANGED = &H18 Public Const DBT_CUSTOMEVENT
2、 = &H8006 Public Const DBT_DEVICEQUERYREMOVE = &H8001 Public Const DBT_DEVICEQUERYREMOVEFAILED = &H8002 Public Const DBT_DEVICEREMOVECOMPLETE = &H8004 Public Const DBT_DEVICEREMOVEPENDING = &H8003 Public Const DBT_DEVICETYPESPECIFIC = &H8005 Public Const DBT_DEVNODES
3、_CHANGED = &H7 Public Const DBT_QUERYCHANGECONFIG = &H17 Public Const DBT_USERDEFINED = &HFFFF Protected Overrides Sub WndProc()Sub WndProc(ByRef m As System.Windows.Forms.Message) If m.Msg = WM_DEVICECHANGE Then Select Case m.WParam Case WM_D
4、EVICECHANGE Case DBT_DEVICEARRIVAL 'U盘插入 ComboBox1.Items.Clear() Dim s() As DriveInfo = DriveInfo.GetDrives For Each drive As DriveInfo In s If drive.DriveType = DriveType.Removable Then
5、 ListBox1.Items.Add("U盘已插入!盘符为:" + drive.Name.ToString()) ComboBox1.Items.Add(drive.Name) End If Next BtnWrite.Enabled = True BtnRead.Enabled = True
6、 Case DBT_CONFIGCHANGECANCELED Case DBT_CONFIGCHANGED Case DBT_CUSTOMEVENT Case DBT_DEVICEQUERYREMOVE Case DBT_DEVICEQUERYREMOVEFAILED Case DBT_DEVICEREMOVECOMPLETE 'U盘卸载 ListBox1.Ite
7、ms.Add("U盘卸载!") BtnWrite.Enabled = False BtnRead.Enabled = False Case DBT_DEVICEREMOVEPENDING Case DBT_DEVICETYPESPECIFIC Case DBT_DEVNODES_CHANGED Case DBT_QUERYCHANGECONFIG