要求所输的盘符格式为 F: Dim Fso As Object Set Fso = CreateObject("Scripting.FileSystemObject") MsgBox Fso.getdrive(InputBox("请输入U盘盘符:") & "\").serialnumber
为什么要用U盘的盘符序列号来判断设备呢?直接用设备ID不好吗?
Function CC() On Error Resume Next Set objWMIService = GetObject("winmgmts:\\.\root\cimv2") Set colItems = objWMIService.ExecQuery("Select * From Win32_USBHub") For Each objItem In colItems a = objItem.DeviceID 'U盘识别为:USB\VID_09A6&PID_800\20040418154911-00,故用VID判别 If a Like "*VID*" Then b = Split(a, "\") CC = b(UBound(b)) '上句亦可:If InStr(a, "VID") Then b = Split(a, "\"): MsgBox b(UBound(b)) Next End Function
MsgBox Fso.getdrive(InputBox("请输入U盘盘符:") & "\").serialnumber
On Error Resume Next
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * From Win32_USBHub")
For Each objItem In colItems
a = objItem.DeviceID 'U盘识别为:USB\VID_09A6&PID_800\20040418154911-00,故用VID判别
If a Like "*VID*" Then b = Split(a, "\")
CC = b(UBound(b))
'上句亦可:If InStr(a, "VID") Then b = Split(a, "\"): MsgBox b(UBound(b))
Next
End Function