Windows 下获取USB设备信息的通用浏览器插件实现
来源:互联网 发布:在c语言中char型数据 编辑:程序博客网 时间:2024/06/06 08:33
先挖个坑,慢慢填。
大约一周前接到的一个任务,要求写一个浏览器插件,能够自动获取用户主机所连接的USB存储类设备的底层信息(如VID,PID,序列号等),并将获取到的信息自动填入网页表单里。这么做的目的是为了方便用户快速提交相关信息,而不需要手动输入甚至另外再去下载一个程序来读取信息。
花了一周的时间做了个能满足需求的插件,这里总结一下相关技术点。
1、浏览器插件的编写,用插件就是希望能方便用户直接在页面获得USB信息。对IE的支持是必须的,如果可以的话最好能支持chrome和firefox乃至safari。
由于我以前基本是在linux下做些东西,windows已经很久没摸过了,浏览器插件更是以前完全没接触过,所以一开始免不了多google一下了。幸好有万能的google,一番辛苦的搜索后找到了一个优秀的技术博客介绍IE插件的开发,以及一个优秀易用的浏览器插件框架。
(待续)
2,、另外就是基本的html和javascript知识了,这方面也比较欠缺,因为自己是后台相关的,前端基本都是了解一点。这里估计还得稍微补补。
主要是写一个表格,其中有VID, PID, SerialNumber等列。然后动态向其中添加行,每一行代表一个USB设备。
这里还遇到一个小问题,IE9不支持对<table>中的<tbody>的innerHTML进行动态写入,没办法只能换用div来写入。
3、本机USB信息的获得,这里直接找到了微软提供额usbview代码,在vs2012下编译通过后很满意,花了几天分析了其中的关键API调研(SetupDi系列和DeviceIoControl),这方面是重点,尤其是SetupDi系列函数的用法,以及对usbview程序源代码的解读等,待我好好慢慢补充完善。为了更好的理解这方面知识,但又不过多的陷入泥潭(因为我不是搞windows开发的-,-),因此这里有很多我的抽象,可能不准确甚至不正确,但对于完成任务达到一定的理解还是很有有用的。
顺便还找了本《USB开发大全_第4版》,花了一晚上走马观花的看了全书和一些重点章节,误打误撞还补充了些usb知识,呵呵,这里也一并总结一下。
4,、最后附上完成的源代码和界面截图,供有需要的朋友参考。
- Windows 下获取USB设备信息的通用浏览器插件实现
- linux c 下获取USB设备的信息并禁止使用USB设备的实现
- 获取USB设备的信息
- Windows下如何获取usb device信息
- linux下使用libusb获取系统usb设备具体信息
- VC获取usb设备信息
- Windows下USB磁盘开发系列三:枚举系统中U盘、并获取其设备信息
- 4.9 基于OHCI的USB主机 —— USB设备获取描述符通用函数
- sysfs目录下的usb设备信息浅析--ft232
- 列举 usb 设备的信息
- Windows下如何获取与手机设备有关的进程信息(Python版)
- windows CE下的USB设备驱动程序分析(一)
- windows CE下的USB设备驱动程序分析(二)
- Windows CE下USB设备驱动开发的一些基础知识
- windows CE下的USB设备驱动程序分析
- Windows CE下USB设备驱动开发的一些基础知识
- Windows CE下的USB设备驱动程序开发实例
- windows CE下的USB设备驱动程序分析
- 我的c博客第一天
- 黑马程序员--传统定时器的回顾
- 解决Java读取File乱码问题
- ORA-00600: internal error code, arguments: [2730], [331], [1], [4], [110], [110], [512], [512], [],
- 用法char ch=getchar()正确性详解 《C陷阱与缺陷》 chap5.1
- Windows 下获取USB设备信息的通用浏览器插件实现
- Android实现通用的ActivityGroup(效果类似Android微博客户端主界面),强烈建议不要再使用TabActivity
- XMPP 服务器 Openfire 的 Emoji 支持问题(进行部分修改)
- 怎么使float保留两位小数或多位小数
- android中的分辨率、行高和字体大小
- extjs time order
- HTTP错误码大全
- Private真的Private么
- 如何摸索一个技术的本质