首先,需要用到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
分享到:
相关推荐
delphi 获得usb设备的路径,可以识别usb设备的厂家ID和设备ID. Locator := CreateOleObject('WbemScripting.SWbemLocator'); WMI := Locator.ConnectServer('.', '', '', ''); Ret := WMI.ExecQuery('SELECT * FROM ...
注意,这是C#的Demo,不是C++的。 是基于WMI监视USB插拔的原理做的Winform的Demo。 整个工程代码打包的,开发工具是VS2015
3.在WMI不能使用时枚举磁盘 ================================================ V1.64 1.在C盘根目录生成日志文件,以调查打不开磁盘的问题 ================================================ V1.63 1.对设备名...
3.在WMI不能使用时枚举磁盘 ================================================ V1.64 1.在C盘根目录生成日志文件,以调查打不开磁盘的问题 ================================================ V1.63 1.对设备名...
3.在WMI不能使用时枚举磁盘 ================================================ V1.64 1.在C盘根目录生成日志文件,以调查打不开磁盘的问题 ================================================ V1.63 1.对设备名...
3.在WMI不能使用时枚举磁盘 ================================================ V1.64 1.在C盘根目录生成日志文件,以调查打不开磁盘的问题 ================================================ V1.63 1.对设备名...
3.在WMI不能使用时枚举磁盘 ================================================ V1.64 1.在C盘根目录生成日志文件,以调查打不开磁盘的问题 ================================================ V1.63 1.对设备名...
另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...
另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...
另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...
另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...
另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 freeeim_FreeEIM_企业即时通讯软件源代码2010年8月份最新版 FTP、HTTP 多线程断点续传下载文件 源码 gdiplus应用实例 ...
另外有只打开一个应用程序、CRichEdit的使用、最小到托盘、自动检测在线用户(多播组)等。 FreeBird2011Dlg.h 主对话框类头文件 MultiGroup.h 多播组类头文件 UserLink.h 用户链表类头文件 ListenSocket.h 侦听接口...