1、VB.Net检测U盘插拔状态并读写的方法作者:wzuomin 来源:笔直的一道弯 更新时间:2007-11-6VB.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
2、 DBT_CONFIGCHANGED = &H18 Public Const DBT_CUSTOMEVENT = &H8006 Public Const DBT_DEVICEQUERYREMOVE = &H8001 Public Const DBT_DEVICEQUERYREMOVEFAILED = &H8002 Public Const DBT_DEVICEREMOVECOMPLETE = &H8004 Public Const DBT_DEVICEREMOVEPENDING = &H8003 Public C
3、onst DBT_DEVICETYPESPECIFIC = &H8005 Public Const DBT_DEVNODES_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_D
4、EVICECHANGE Then Select Case m.WParam Case WM_DEVICECHANGE Case DBT_DEVICEARRIVAL 'U盘插入 ComboBox1.Items.Clear() Dim s() As DriveInfo = DriveInfo.GetDrives For Each drive As DriveI
5、nfo In s If drive.DriveType = DriveType.Removable Then ListBox1.Items.Add("U盘已插入!盘符为:" + drive.Name.ToString()) ComboBox1.Items.Add(drive.Name) End If Next
6、 BtnWrite.Enabled = True BtnRead.Enabled = True Case DBT_CONFIGCHANGECANCELED Case DBT_CONFIGCHANGED Case DBT_CUSTOMEVENT Case DBT_DEVICEQUERYREMOVE Case DBT_DEVICEQUE
7、RYREMOVEFAILED Case DBT_DEVICEREMOVECOMPLETE 'U盘卸载 ListBox1.Items.Add("U盘卸载!") BtnWrite.Enabled = False BtnRead.Enabled = False Case DBT_DEVICEREMOVEPENDING Case DBT_DEVICETYP