通过VBScript获取连接的usb设备的VID/PID
我正在寻找一个VBScript,它可以将连接的USB设备的VID/PID存储在一个变量中。那么VBScript是用来做这件事的吗?您可以通过使用WMI获得它,但WMI中没有用于连接的USB设备的动态类。通过VBScript获取连接的usb设备的VID/PID,vbscript,usb,device,Vbscript,Usb,Device,我正在寻找一个VBScript,它可以将连接的USB设备的VID/PID存储在一个变量中。那么VBScript是用来做这件事的吗?您可以通过使用WMI获得它,但WMI中没有用于连接的USB设备的动态类。需要将USB设备与已插入设备的一些关系信息关联起来才能获得已插入的设备。 所以,考虑这个例子: Option Explicit Dim oWMISrv, collDvcs, collUSBDvcs, iUSBDvc , iDvc, sDvcID, sPID, sVID Function Repl
需要将USB设备与已插入设备的一些关系信息关联起来才能获得已插入的设备。
所以,考虑这个例子:
Option Explicit
Dim oWMISrv, collDvcs, collUSBDvcs, iUSBDvc , iDvc, sDvcID, sPID, sVID
Function ReplaceX(ByVal sValue, ByVal sPattern, ByVal sNValue)
Dim oReg : Set oReg = New RegExp
oReg.Pattern = sPattern
ReplaceX = oReg.Replace(sValue, sNValue)
Set oReg = Nothing
End Function
Set oWMISrv = GetObject("winmgmts:\\.\root\cimv2")
Set collDvcs = oWMISrv.ExecQuery("Select * From Win32_USBControllerDevice")
For Each iDvc In collDvcs
If InStr(iDvc.Dependent, "VID_") Then ' Except keychain drives
sDvcID = ReplaceX(iDvc.Dependent, ".*""(.*)""", "$1")
sPID = ReplaceX(sDvcID, ".*PID_([^\\]*).*", "$1")
sVID = ReplaceX(sDvcID, ".*VID_([^&]*).*", "$1")
Set collUSBDvcs = oWMISrv.ExecQuery _
("Select * From Win32_PnPEntity Where DeviceID = '" & sDvcID & "'")
For Each iUSBDvc in collUSBDvcs
Wscript.Echo "Name : "& iUSBDvc.Description
Wscript.Echo "VID : "& sVID
Wscript.Echo "PID : "& sPID
Wscript.Echo String(50, "-")
Next
Set collUSBDvcs = Nothing
End If
Next
Set collDvcs = Nothing
Set oWMISrv = Nothing
谢谢,但我真的在寻找一个只显示连接设备的VIP/PID的脚本,你的帮助我很多,我应该说谢谢:)