通过定时器来定时检测是否存在U盘

 

 

'============声明部分==============

Option Explicit
Private Declare Function GetDriveType Lib "kernel32" Alias "GetDriveTypeA" _
(ByVal nDrive As String) As Long
Private Declare Function GetLogicalDriveStrings Lib "kernel32" Alias "GetLogicalDriveStringsA" _
(ByVal nBufferLength As Long, ByVal lPBuffer As String) As Long

'==============Timer================
Private Sub Timer1_Timer()
Dim rtn As String, a, b$(), i%, u As Boolean
Dim AllDrives As String

AllDrives = Space$(64) '设置缓冲
rtn = GetLogicalDriveStrings(Len(AllDrives), AllDrives) '调用函数得到包含所有驱动器的字符串
AllDrives = Left(AllDrives, rtn)
a = Split(Trim(AllDrives), Chr(0))
ReDim b(UBound(a))
u = False
For i = 0 To UBound(a) - 1
b(i) = GetDriveType(a(i))
If b(i) < 2 Or b(i) > 6 Then b(i) = 1
b(i) = Choose(Val(b(i)), "未知类型", "移动盘", "硬盘", "映射盘", "光驱", "内存盘")
If b(i) = "移动盘" Then u = True
Next
Text1 = ""
Text1 = IIf(u, "发现有移动盘!", "未发现移动盘!") & vbCrLf
For i = 0 To UBound(a) - 1
Text1 = Text1 & a(i) & "---" & b(i) & vbCrLf
Next
End Sub

'==============================================

说明:

1 a(i)里存有每个盘符值

2 b(i)里存有盘的类型

大家可以通过需要来调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值