Anroid 手机助手 详细解析 概述(二)
这篇主要说一下手机插入之后的一些动作。
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