`
jsntghf
  • 浏览: 2473686 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

使用WMI检测USB设备

 
阅读更多

首先,需要用到win32ole。

 

require 'win32ole'

 

具体实现:

 

    wmi = WIN32OLE.connect("winmgmts://")
    devices = wmi.ExecQuery("Select * From Win32_USBControllerDevice")
    devices.each do |device|
      device_name = device.Dependent.gsub('"', '').split('=')[1]
      usb_devices = wmi.ExecQuery("Select * From Win32_PnPEntity Where DeviceID = '#{device_name}'")
      for usb_device in usb_devices do
        puts usb_device.Description
        if usb_device.Description == 'USB Mass Storage Device'
          # DO SOMETHING HERE
        end
      end
    end

 

示例输出:

 

USB Root Hub
USB 人体学输入设备
HID-compliant mouse
USB Root Hub
USB Root Hub
USB Root Hub
USB Root Hub
USB2.0 Camera

 

分享到:
评论

相关推荐

    0611检测usb设备信息.zip

    delphi 获得usb设备的路径,可以识别usb设备的厂家ID和设备ID. Locator := CreateOleObject('WbemScripting.SWbemLocator'); WMI := Locator.ConnectServer('.', '', '', ''); Ret := WMI.ExecQuery('SELECT * FROM ...

    C#实时监测usb设备的插拔情况,winform的Demo

    注意,这是C#的Demo,不是C++的。 是基于WMI监视USB插拔的原理做的Winform的Demo。 整个工程代码打包的,开发工具是VS2015

    usbboot(U盘启动制作工具)

    3.在WMI不能使用时枚举磁盘 ================================================ V1.64 1.在C盘根目录生成日志文件,以调查打不开磁盘的问题 ================================================ V1.63 1.对设备名...

    USBBOOT修复工具

    3.在WMI不能使用时枚举磁盘 ================================================ V1.64 1.在C盘根目录生成日志文件,以调查打不开磁盘的问题 ================================================ V1.63 1.对设备名...

    USBOOT1.7(U盘引导盘制作软件)

    3.在WMI不能使用时枚举磁盘 ================================================ V1.64 1.在C盘根目录生成日志文件,以调查打不开磁盘的问题 ================================================ V1.63 1.对设备名...

    SD卡测试工具

    3.在WMI不能使用时枚举磁盘 ================================================ V1.64 1.在C盘根目录生成日志文件,以调查打不开磁盘的问题 ================================================ V1.63 1.对设备名...

    USBOOT 1.7

    3.在WMI不能使用时枚举磁盘 ================================================ V1.64 1.在C盘根目录生成日志文件,以调查打不开磁盘的问题 ================================================ V1.63 1.对设备名...

    vc++ 应用源码包_1

    另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...

    vc++ 应用源码包_6

    另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...

    vc++ 应用源码包_2

    另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...

    vc++ 应用源码包_5

    另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...

    vc++ 应用源码包_3

    另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...

    vc++ 开发实例源码包

    另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 FreeBird2011Dlg.h 主对话框类头文件 MultiGroup.h 多播组类头文件 UserLink.h 用户链表类头文件 ListenSocket.h 侦听接口...

Global site tag (gtag.js) - Google Analytics