找回密码
 加入
搜索
查看: 7269|回复: 12

[系统综合] 如何监控usb设备插入和拔出

 火.. [复制链接]
发表于 2014-1-20 22:02:30 | 显示全部楼层 |阅读模式
如何监控usb设备插入和拔出 usb设备不一定是u盘类的
发表于 2014-1-21 10:25:18 | 显示全部楼层
截获系统消息:WM_DEVICECHANGE
发表于 2014-1-21 10:56:54 | 显示全部楼层
哎。。。HOOK实在是不会啊  凑合吧
Local $colItems, $Ndevid, $Odevid
$strComputer = "localhost"
$objWMIService = ObjGet("winmgmts:\" & $strComputer & "\root\CIMV2")

While 1
        $colItems = $objWMIService.ExecQuery("SELECT * FROM Win32_USBControllerDevice", "WQL", 48)
        If IsObj($colItems) Then
                For $objItem In $colItems
                        $tmp = StringRegExpReplace($objItem.Dependent, ".*?DeviceID=", "")
                        If @extended Then $Ndevid &= $tmp & @LF
                Next
;~                 ToolTip($Odevid)
                If $Odevid <> "" Then
                        If StringLen($Ndevid) > StringLen($Odevid) Then
                                ToolTip("in")
                        ElseIf StringLen($Ndevid) < StringLen($Odevid) Then
                                ToolTip("out")
                        EndIf
                EndIf
                $Odevid = $Ndevid
                $Ndevid = ""
        Else
                MsgBox(0, "", "err")
        EndIf
        Sleep (100)
WEnd
 楼主| 发表于 2014-1-22 08:38:46 | 显示全部楼层
回复 3# zch11230
十分感谢啊  如何能显示插入设备的名称啊
发表于 2014-1-22 09:12:51 | 显示全部楼层
发表于 2014-1-23 09:58:37 | 显示全部楼层
学习了,WMI真强大
发表于 2014-1-31 14:17:56 | 显示全部楼层
hook hook 钩一下吗  哈哈
发表于 2014-2-9 14:08:01 | 显示全部楼层
枚举下然后监控就行了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2014-2-11 15:07:07 | 显示全部楼层
建议搞一个SQL server 数据库
发表于 2014-2-21 21:42:09 | 显示全部楼层
强大啊,没想到autoit功能这么强。
发表于 2014-2-26 19:17:15 | 显示全部楼层
Global Const $WM_DEVICECHANGE = 537 ;设备发生改变
Global Const $DBT_DEVICEARRIVAL = 0x8000 ;设备插入
Global Const $DBT_DEVICEREMOVECOMPLETE = 0x8004 ;设备移除

GUIRegisterMsg($WM_DEVICECHANGE, 'My_Message_Test')

GUICreate('')

Do
Until GUIGetMsg() = -3

Func My_Message_Test($hWnd, $Msg, $wParam, $lParam)
        Switch $wParam
                Case $DBT_DEVICEARRIVAL
                        MsgBox(0, '提示!', '检测到设备插入 - ' & $lParam)
                Case $DBT_DEVICEREMOVECOMPLETE
                        MsgBox(0, '提示!', '检测到设备被移除 - ' & $lParam)
        EndSwitch
EndFunc   ;==>My_Message_Test
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-20 08:26 , Processed in 0.079844 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表