Utilice VB.NET para detectar un determinado fragmento de código que se ejecuta cuando se inserta una unidad flash USB y obtenga la letra de la unidad USB.
Imports System.IO
Clase pública Form1
Const pública WM_DEVICECHANGE = &H219
Const pública DBT_DEVICEARRIVAL = &.H8000
Const pública DBT_CONFIGCHANGECANCELED = &H19
Const pública DBT_CONFIGCHANGED = &H18
Const pública DBT_ CUSTOMEVENT = &H8006
Const pública DBT_DEVICEQUERYREMOVE = &H8001 p>
Const pública DBT_DEVICEQUERYREMOVAEFILED = &H8002
Const pública DBT_DEVICEREMOVECOMPLETE = &H8004
Const pública DBT_DEVICEREMOVEEPENDING = &H8003
Const pública DBT_ DEVICETYPESPECIFIC = &H80 05
Const pública DBT_DEVNODES_CHANGED = &H8006
Const pública DBT_DEVNODES_CHANGED = &H8007H7
Const pública DBT_QUERYCHANGECONFIG = &H17
Const pública DBT_USERDEFINED = &HFFFF p >
Anulaciones protegidas Sub WndProc(ByRef m As System.Windows.Forms.Message)
Si m.Msg = WM_ DEVICECHANGE Entonces
Seleccione Case m.WParam p >
Caso WM_DEVICECHANGE
Caso DBT_DEVICEARRIVAL 'Unidad flash USB insertada
ComboBox1.Items.Clear().
Clear()
Dim s() As DriveInfo = DriveInfo.GetDrives
Para cada unidad Como DriveInfo In s
Si drive.DriveType = DriveType.Removable Entonces
ListBox1.Items.Add("¡Unidad flash USB insertada! Tipo de unidad: "+ unidad.Name.ToString())
ComboBox1.Items.Add(drive.Name)
Finalizar si
Siguiente
BtnWrite.Enabled = True
BtnRead.Enabled = True
Caso DBT_CONFIGCHANGECANCELED
Caso DBT_CONFIGCHANGED
Caso DBT_CUSTOMEVENT
Caso DBT_DEVICEQUERYREMOVE
Caso DBT_DEVICEQUERYREMOVAEFILED
Caso DBT_DEVICEREMOVECOMPLETE 'Unidad flash USB desmontada
ListBox1.Items.Add("¡Unidad flash USB desmontada!")
BtnWrite.Enabled = False
BtnRead.Enabled = False
ListBox1.Items .Add("¡La unidad flash USB ha sido desmontada!")Enabled = False
Caso DBT_DEVICEREMOVEPENDING
Caso DBT_DEVICETYPESPECIFIC
Caso DBT_DEVNODES_CHANGED
Caso DBT_QUERYCHANGECONFIG
Caso DBT_USERDEFINED
Finalizar selección
Finalizar si
MyBase.WndProc(m)
MyBase .WndProc(m)
MiBase.WndProc(m)
MiBase.WndProc(m)
MiBase.WndProc(m)