PreTranslateMessage 处理键盘消息

         做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);
}


        

你可能感兴趣的:(PreTranslateMessage 处理键盘消息)