PreTranslateMessage 处理键盘消息

本文详细介绍了在Windows开发中处理键盘事件的方法,包括hook技术侦测和重载PreTranslateMessage函数。通过实例展示了如何在特定键盘事件下执行特定操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         做windows开发有段时间了,但项目多数都不没涉及到键盘事件的处理。现在用到突然忘了。

  处理键盘可以通过两种方式:

        1. hook 技术侦测。 这里就先不介绍,有机会在整理。微笑

        2. 通过重载PreTranslateMessage函数也可以实现。

BOOL CScanDemoDlg::PreTranslateMessage(MSG* pMsg)
{
	// TODO: 在此添加专用代码和/或调用基类
    
    if (pMsg->message == WM_KEYUP && (pMsg->wParam ==VK_SCAN_A||pMsg->wParam ==VK_SCAN_B ) )
    {
	  //deal with the Scan function

      RETAILMSG(1,(L"Start to Scan barcode \r\n"));
	  if(StartScan())
	  {
	     (CButton*)GetDlgItem(IDC_BTN_PRINT)->EnableWindow(TRUE);
	  }
	  else
         (CButton*)GetDlgItem(IDC_BTN_PRINT)->EnableWindow(FALSE);
	  UpdateData(FALSE);
	 
    }
	return CDialog::PreTranslateMessage(pMsg);
}


        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值