以前有个对优盘插入和弹出检测的au3,能不能再发一遍
以前有个对优盘插入和弹出检测的au3,能不能再发一遍[ 本帖最后由 ken0137 于 2008-5-14 20:05 编辑 ] 那个是我以前发的吧,你自己参考一下中文资料区的WMI教程,我也是以它为蓝本写的 对于WMI一窍不通,
我记得说是有个来自官方的检测优盘插入拔出的代码 可移动USB 监视 用WMI 的事件提示
$strComputer = "."
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")
$colEvents = $objWMIService.ExecNotificationQuery _
("Select * From __InstanceOperationEvent Within 5 Where " _
& "TargetInstance isa 'Win32_LogicalDisk' and " _
& "TargetInstance.DriveType = 2" )
While 1
$objEvent = $colEvents.NextEvent
If $objEvent.TargetInstance.DriveType = 2 Then
Select
Case $objEvent.Path_.Class()="__InstanceCreationEvent"
Consolewrite("Drive " & $objEvent.TargetInstance.DeviceId & "has been added." & @CR)
Case $objEvent.Path_.Class()="__InstanceDeletionEvent"
Consolewrite("Drive " & $objEvent.TargetInstance.DeviceId & "has been removed."& @CR)
EndSelect
EndIf
WEnd
[ 本帖最后由 renren 于 2008-5-13 13:52 编辑 ] 这个添加了 USB 设备的详细描述 注意要先开启你的 wmi 服务先,可以去别的版块找下wmi 相关资料
$strComputer = "."
$objWMIService = ObjGet("winmgmts:\\" & $strComputer & "\root\cimv2")
$colDevices = $objWMIService.ExecQuery ("Select * From Win32_USBControllerDevice")
For $objDevice in $colDevices
$strDeviceName = $objDevice.Dependent
$strQuotes = Chr(34)
$strDeviceName = StringReplace($strDeviceName, $strQuotes, "")
$arrDeviceNames = StringSplit($strDeviceName, "=")
$strDeviceName = $arrDeviceNames
$colUSBDevices = $objWMIService.ExecQuery ("Select * From Win32_PnPEntity Where DeviceID = '" & $strDeviceName & "'")
For $objUSBDevice in $colUSBDevices
MsgBox(0,"USB Description",$objUSBDevice.Description)
Next
MsgBox(0,"USB Devices",$strDeviceName)
Next
[ 本帖最后由 renren 于 2008-5-13 20:05 编辑 ] 那2000下这个服务是不是默认开的啊 我在官方看到的几个都是用WMI实现的,代码也比较短··· 官网的那个就是用WMI来实现的 这个很好,收藏了!!!!
页:
[1]