加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

vb.net 实现u盘插入,拔出的识别

发布时间:2020-12-16 22:59:28 所属栏目:大数据 来源:网络整理
导读:Imports System.IO Public Class 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 = H8006 Public Co

Imports System.IO

Public Class 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 = &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_CHANGED = &H7
Public Const DBT_QUERYCHANGECONFIG = &H17
Public Const DBT_USERDEFINED = &HFFFF

Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
If m.Msg = WM_DEVICECHANGE 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 DriveInfo In s
If drive.DriveType = DriveType.Removable Then
ListBox1.Items.Add("U盘已插入!盘符为:" + drive.Name.ToString())
ComboBox1.Items.Add(drive.Name)
End If
Next
BtnWrite.Enabled = True
BtnRead.Enabled = True
Case DBT_CONFIGCHANGECANCELED
Case DBT_CONFIGCHANGED
Case DBT_CUSTOMEVENT
Case DBT_DEVICEQUERYREMOVE
Case DBT_DEVICEQUERYREMOVEFAILED
Case DBT_DEVICEREMOVECOMPLETE 'U盘卸载
ListBox1.Items.Add("U盘卸载!")
BtnWrite.Enabled = False
BtnRead.Enabled = False
Case DBT_DEVICEREMOVEPENDING
Case DBT_DEVICETYPESPECIFIC
Case DBT_DEVNODES_CHANGED
Case DBT_QUERYCHANGECONFIG
Case DBT_USERDEFINED
End Select
End If

MyBase.WndProc(m)
End Sub

Private Sub Form1_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load
ListBox1.Items.Add("请您现在插入U盘至USB接口!")
End Sub

Private Sub BtnWrite_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles BtnWrite.Click
If ComboBox1.Text = "" Then
MsgBox("请选择U盘盘符!",MsgBoxStyle.Exclamation,"Warn")
Else
Dim Writer As StreamWriter = Nothing
Try
Dim fileName As String = ComboBox1.Text + "Test.txt"
Writer = New StreamWriter(fileName)
Writer.WriteLine(InputBox("老四,请输入要保存的字符串","输入信息","Input then Test String! hehe!"))
MsgBox("Write to " + fileName + " Success!")
Catch ex As Exception
MsgBox(ex.Message,MsgBoxStyle.Critical,"Write 失败")
Finally
If Writer IsNot Nothing Then Writer.Close()
End Try
End If
End Sub

Private Sub BtnRead_Click(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles BtnRead.Click
If ComboBox1.Text = "" Then
MsgBox("请选择U盘盘符!","Warn")
Else
Dim Reader As StreamReader = Nothing
Try
Dim fileName As String = ComboBox1.Text + "Test.txt"
Reader = New StreamReader(fileName)
MsgBox("Read from " + fileName + vbCrLf + Reader.ReadToEnd,MsgBoxStyle.Information,"Info")
Catch ex As Exception
MsgBox(ex.Message,"Read 失败")
Finally
If Reader IsNot Nothing Then Reader.Close()
End Try
End If
End Sub

End Class

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读