Anroid 手机助手 详细解析 概述(二)
2013-11-14 20:25
141 查看
这篇主要说一下手机插入之后的一些动作。
1) 捕获窗口消息
插入拔出一个USB设备windows 会给所有的窗口发送特定的消息,只要我们捕获这些消息就可以处理设备插入和拔出。需要注意的是插入或者拔出一个设备的时候windows 会在短时间里面通知N多次的消息,所以处理的时候最好注意一下,只处理最后一次消息就可以了。目前我知道的四个消息
DBT_DEVNODES_CHANGED
DBT_DEVICEARRIVAL
DBT_DEVICEREMOVECOMPLETE
DBT_DEVICEQUERYREMOVE
有的时候由于数据线或者手机本身的问题,插入之后没有任何反应,这个时候可以打开设备管理器查看一下是否有设备,如果设备管理器没有你的手机,那就需要换个数据线或者换个USB 口了。打开设备管理器查看我的手机
2 枚举USB 设备
我的电脑上枚举出来的如下图
上面枚举出来的设备都有一个规律,以USB开头,然后是VID_ , PID_,还有后面一串信息。
3) 获取VID,PID
获取到了USB 设备之后使用正则表达式或者其他办法把VID,PID取出来,还有最后面的一串字符串。
比如:
USB\VID_8087&PID_0024\5&69DDA25&0&1 VID就是8087,PID就是0024,还有后面的一串字符5&69DDA25&0&1。
4) 手机识别匹配
我是先匹配VID,PID,如果VID,PID没有命中,则使用后面的那串字符串进行模糊匹配。这里就有个问题,去哪里匹配。 首先你需要一个识别的数据表,这个数据表保存了所有的手机的信息。下图是我的识别库的格式,只有有这些数据库才能正确识别到手机,否则是识别不了的。
转让Android,IOS 手机助手各种技术资料,文档,以及源码,有需要的可以联系我QQ: 2506314894
1) 捕获窗口消息
插入拔出一个USB设备windows 会给所有的窗口发送特定的消息,只要我们捕获这些消息就可以处理设备插入和拔出。需要注意的是插入或者拔出一个设备的时候windows 会在短时间里面通知N多次的消息,所以处理的时候最好注意一下,只处理最后一次消息就可以了。目前我知道的四个消息
DBT_DEVNODES_CHANGED
DBT_DEVICEARRIVAL
DBT_DEVICEREMOVECOMPLETE
DBT_DEVICEQUERYREMOVE
有的时候由于数据线或者手机本身的问题,插入之后没有任何反应,这个时候可以打开设备管理器查看一下是否有设备,如果设备管理器没有你的手机,那就需要换个数据线或者换个USB 口了。打开设备管理器查看我的手机
2 枚举USB 设备
我的电脑上枚举出来的如下图
上面枚举出来的设备都有一个规律,以USB开头,然后是VID_ , PID_,还有后面一串信息。
3) 获取VID,PID
获取到了USB 设备之后使用正则表达式或者其他办法把VID,PID取出来,还有最后面的一串字符串。
比如:
USB\VID_8087&PID_0024\5&69DDA25&0&1 VID就是8087,PID就是0024,还有后面的一串字符5&69DDA25&0&1。
4) 手机识别匹配
我是先匹配VID,PID,如果VID,PID没有命中,则使用后面的那串字符串进行模糊匹配。这里就有个问题,去哪里匹配。 首先你需要一个识别的数据表,这个数据表保存了所有的手机的信息。下图是我的识别库的格式,只有有这些数据库才能正确识别到手机,否则是识别不了的。
转让Android,IOS 手机助手各种技术资料,文档,以及源码,有需要的可以联系我QQ: 2506314894
相关文章推荐
- Anroid 手机助手 详细解析
- 一个详细的路由器接口解析
- android手机存储全面解析汇总
- strtok - 详细示例解析
- 详细解析Java中抽象类和接口的区别
- DNS 系统解析过程概述
- YYModel源码详细解析-1、2
- mysql之 binlog维护详细解析(开启、binlog相关参数作用、mysqlbinlog解读、binlog删除)
- Java多线程程序设计详细解析
- xml解析(详细步骤及实例代码作为参考,理论部分请参阅互联网)之 SAXP (更新中)
- MySQL数据类型之数字类型详细解析
- 手机上也能用的快手和火山视频在线解析下载工具
- C++中overload,override,overwrite的区别详细解析
- Linux Command Line 详细解析
- Java 集合系列05之 LinkedList详细介绍(源码解析)和使用示例
- [笔试题] 阿里巴巴2013技术类笔试题(完整版手工记录+详细解析)
- ZooKeeper详细解析
- HSSFSheet类 详细解析实例
- Dubbo(3)——应用启动与停止脚本,超详细解析
- Java 集合系列03之 ArrayList详细介绍(源码解析)和使用示例