WINCE 键盘驱动 '*' '.' 错误

shenchen02   2010-5-24 21:47 楼主
请教各位高手:
    现在我在做键盘驱动,发现一个问题,
    我想 用某个按键做标准键盘里面的 * 和 . 两个符号,
    我差了键盘值,
   
    *   ----->  0x6a
    .   ----->  0x6e

    keybd_event(0x6a,0, KEYEVENTF_SILENT, 0);
    //结果 系统收到的键值是  0x2a

    keybd_event(0x6e,0, KEYEVENTF_SILENT, 0);
    //结果 系统收到的键值是  0x2e

    但是奇怪的是
    keybd_event(0x6a,0, KEYEVENTF_KEYUP, 0);
    //结果 系统收到的键值是  0x6a

    keybd_event(0x6e,0, KEYEVENTF_KEYUP, 0);
    //结果 系统收到的键值是  0x6e

为什么会这样啊?
请高手指点一下~!!
非常感谢~!




   

回复评论 (3)

奇怪啦,
我在 MFC 里面重载

PreTranslateMessage(MSG*   pMsg)     //加入这个消息事件   
{   //判断是否就是键盘   
     if(WM_KEYFIRST <= pMsg->message   &&   pMsg->message   <=   WM_KEYLAST)      
    {     
        pMsg->wParam
        这里这个值 怎么是 0x2a
    }
}

但是在文本输入里面却是正确的~!,
郁闷死啦~~!~!!~!!
点赞  2010-5-24 22:21
找到原因了
是 MFC 的问题截取键盘事件的问题。

PreTranslateMessage(MSG*   pMsg)     //加入这个消息事件   
{   //判断是否就是键盘   
        if   (pMsg->message == WM_KEYDOWN  ||    pMsg->message   ==  WM_KEYUP)      
        {
               pMsg->wParam
               这个值就对了~!     
        }
}
小弟愚昧啊~!~!
点赞  2010-5-24 22:37
顶起来。呵呵呵。
点赞  2010-5-24 22:43
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复