毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 嵌入式 >> 正文

wince5.0 +ARM9的USB设备获取PID,VID信息

更新时间:2013-6-5:  来源:毕业论文

wince5.0 +ARM9的USB设备获取PID,VID信息

大家好,我的机器是wince5.0 +ARM9 ,我是新手菜鸟,才开始学习.
先做个小程序测试,检测插在机器上的USB鼠标或者键盘PID,VID信息,

1.WINCE工程要把USB HID Keyboard and Mouse组件加入你的工程中。
2.需要知道是否加入USB HID Keyboard and Mouse组件的common.reg中相关注册表的差别
没有加入USB HID Keyboard and Mouse组件,common.reg中相关注册表信息如下:
//USB keyboard
; @CESYSGEN IF CE_MODULES_KBDHID
; @CESYSGEN ENDIF CE_MODULES_KBDHID

//USB mouse
; @CESYSGEN IF CE_MODULES_MOUHID
; @CESYSGEN ENDIF CE_MODULES_MOUHID

没有加入USB HID Keyboard and Mouse组件,common.reg中相关注册表信息如下:
//USB keyboard
; @CESYSGEN IF CE_MODULES_KBDHID
[HKEY_LOCAL_MACHINE\Drivers\HID\LoadClients\Default\Default\1_6\Keyboard]
   "DLL"="KBDHID.DLL"

[HKEY_LOCAL_MACHINE\Drivers\HID\ClientDrivers\Keyboard]
   "DLL"="KBDHID.DLL"
   "Prefix"="KBD"
   "IClass"="{CBE6DDF2-F5D4-4e16-9F61-4CCC0B6695F3}"
   "RemoteWakeup"=dword:1
   "Flags"=dword:00010000
; @CESYSGEN ENDIF CE_MODULES_KBDHID

//USB mouse
; @CESYSGEN IF CE_MODULES_MOUHID
[HKEY_LOCAL_MACHINE\Drivers\HID\LoadClients\Default\Default\1_2\Mouse]
   "DLL"="MOUHID.DLL"
   "RemoteWakeup"=dword:1
; @CESYSGEN ENDIF CE_MODULES_MOUHID

从上面的差别中可以看到USB keyboard和USB mouse可以通过注册表项[HKEY_LOCAL_MACHINE\Drivers\HID\LoadClients\Default\Default\1_2\Mouse]
中的“HKEY_LOCAL_MACHINE\Drivers\HID\LoadClients\Default\Default\xxx_xxx"中提取到VID和PID码的,因为只要接入USB keyboard或是USB mouse,USB HID驱动会枚举接入的USB HID设备,通过注册表信息HKEY_LOCAL_MACHINE\Drivers\HID\LoadClients\Default\Default\xxx_xxx就可以得到VID和PID,楼主的测试程序就可以基于这个思想来实现了。

这个成品机器的系统应该是加载了USB HID驱动了,你可以通过查询注册表信息的“HKEY_LOCAL_MACHINE\Drivers\HID\LoadClients\Default\Default\xxx_xxx"中的xxx_xxx来解析出PID和VID

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。