xyj8303
驱动小牛
驱动小牛
  • 注册日期2007-05-28
  • 最后登录2009-04-01
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望137点
  • 贡献值0点
  • 好评度103点
  • 原创分0分
  • 专家分0分
阅读:1409回复:3

应用程序如何调用按键驱动

楼主#
更多 发布于:2008-02-25 14:40
各位,我在winCE5.0的BSP里面加了个按键的驱动,用中断实现的,很简单,就是按一下就打印一些消息,现在我想在应用程序里面调用它,就是按一下让它做我自己的事件,该怎么实现,谢谢!
saint_bxg
驱动小牛
驱动小牛
  • 注册日期2006-08-01
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望284点
  • 贡献值0点
  • 好评度257点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2008-02-25 16:49
驱动中,按下按键,发送虚拟键值(如:VK_ENTER)

在应用程序中,添加按键消息 KEY_DOWN或KEY_UP,对应相应的键值就做相应的事情了。

最好再加个虚拟函数
BOOL CTestDlg::PreTranslateMessage(MSG* pMsg)
{
    // TODO: Add your specialized code here and/or call the base class
    if( pMsg->message>=WM_KEYDOWN && pMsg->message<=WM_KEYUP)
    {
        this->SendMessage(pMsg->message,pMsg->wParam,pMsg->lParam);
        return TRUE;
    }
    else

        return CDialog::PreTranslateMessage(pMsg);
}
否则操作系统中有定义的键值就只有默认的作用了。(如方向键)
努力! 成功就在不远处....
xyj8303
驱动小牛
驱动小牛
  • 注册日期2007-05-28
  • 最后登录2009-04-01
  • 粉丝0
  • 关注0
  • 积分5分
  • 威望137点
  • 贡献值0点
  • 好评度103点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2008-02-26 11:26
我是想问:
如何写个应用程序识别我按键已按下,用VC+VS2005,VC我不大懂,
我在驱动里面已有按下后,keybd_event(VK_BACK,0,0,0);                      keybd_event(VK_BACK,0,KEYEVENTF_KEYUP,0);
tracera
禁止发言
禁止发言
  • 注册日期2006-01-09
  • 最后登录2018-09-25
  • 粉丝8
  • 关注0
  • 积分-5788分
  • 威望135321点
  • 贡献值0点
  • 好评度625点
  • 原创分1分
  • 专家分0分
  • 社区居民
地板#
发布于:2008-02-26 18:21
用户被禁言,该主题自动屏蔽!
游客

返回顶部