阅读:4840回复:11
wince开发键盘驱动用keybd_event发送不了字符的问题
我在键盘驱动里通过使用keybd_event发送虚拟键来产生按键事件,
回车、空格、backspace等一些控制键是成功的,但用来发送数字和 字符键就是不行。和dreamzqw遇到的问题是一样的。 望指教! |
|
沙发#
发布于:2008-08-21 10:23
无人回,自己顶一下!
|
|
板凳#
发布于:2008-08-22 10:45
用户被禁言,该主题自动屏蔽! |
|
地板#
发布于:2008-08-24 13:21
好好看一下这个函数的用法,多试一下各种参数的组合,我用过,没有遇到过你说的这个问题.
|
|
|
地下室#
发布于:2008-08-24 15:16
确实是很奇怪的一个问题,我换了另外一个BSP后就正常了。
应该是BSP的问题,但具体就不知道哪里出错。 |
|
5楼#
发布于:2008-08-27 17:08
Keybd_Event()这个函数在产生ASCII键时要求虚拟键跟扫描码一样,都为虚拟键值才行。
|
|
6楼#
发布于:2008-08-27 18:41
dreamzqw :
是不是指 keybd_event('X','X',0,0); //按下x键 Sleep(50); keybd_event('X','X',KEYEVENTF_KEYUP,0); //抬起x键 如此发送呢?都是不行啊。 但在另外一个BSP上通过如下发送都是正常的: keybd_event('X',0,0,0); //按下x键 Sleep(50); keybd_event('X',0,KEYEVENTF_KEYUP,0); //抬起x键 这个问题实在是太奇怪了。 |
|
7楼#
发布于:2008-09-04 16:03
应该是注册表里多了什么或少了什么
|
|
8楼#
发布于:2008-09-09 16:42
用户被禁言,该主题自动屏蔽! |
|
9楼#
发布于:2008-09-09 20:59
引用第8楼tracera于2008-09-09 16:42发表的 : 上面这些字符是特殊字符,需要和shift配合着来按才产生的,比如!是shift+1配合出来的,所以你需要在驱动里Keybd_event(shift,0,0,0);Keybd_event('1',0,0,0);然后再shift up,1 up,这样着发,就可以了 |
|
10楼#
发布于:2008-09-10 09:34
用户被禁言,该主题自动屏蔽! |
|
11楼#
发布于:2008-09-12 17:03
楼上正解,我遇到过
|
|