QQ登录

只需一步,快速开始

上位机MFC如何模拟键盘按键

[ 复制链接 ]
  1. void CDemoDlg::OnTest1()
  2. {
  3.         //模拟NUM LOCK按键
  4.         keybd_event(VK_NUMLOCK, 0, KEYEVENTF_EXTENDEDKEY | 0, 0);
  5.         keybd_event(VK_NUMLOCK, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);        
  6. }

  7. void CDemoDlg::OnTest2()
  8. {
  9.         //模拟CAPS LOCK按键
  10.         keybd_event(VK_CAPITAL, 0, KEYEVENTF_EXTENDEDKEY | 0, 0);
  11.         keybd_event(VK_CAPITAL, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);        
  12. }

  13. void CDemoDlg::OnTest3()
  14. {
  15.         //模拟SCROLL LOCK按键
  16.         keybd_event(VK_SCROLL, 0, KEYEVENTF_EXTENDEDKEY | 0, 0);
  17.         keybd_event(VK_SCROLL, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);        
  18. }
复制代码


可以添加三个复选框来测试上面的代码。按钮状态 的自动获取,我们可以在PreTranslateMessage函数中添加。

  1. BOOL CDemoDlg::PreTranslateMessage(MSG* pMsg)
  2. {
  3.         if (pMsg->message == WM_KEYUP)
  4.         {
  5.                 BYTE KeyboardState[256];

  6.                 //获得虚拟键状态
  7.                 ::GetKeyboardState(KeyboardState);

  8.                 if (KeyboardState[VK_NUMLOCK] & 0x01)
  9.                 {
  10.                         CButton* pButton = (CButton*)GetDlgItem(IDC_TEST1);
  11.                         pButton->SetCheck(TRUE);
  12.                 }
  13.                 else
  14.                 {
  15.                         CButton* pButton = (CButton*)GetDlgItem(IDC_TEST1);
  16.                         pButton->SetCheck(FALSE);
  17.                 }

  18.                 if (KeyboardState[VK_CAPITAL] & 0x01)
  19.                 {
  20.                         CButton* pButton = (CButton*)GetDlgItem(IDC_TEST2);
  21.                         pButton->SetCheck(TRUE);
  22.                 }
  23.                 else
  24.                 {
  25.                         CButton* pButton = (CButton*)GetDlgItem(IDC_TEST2);
  26.                         pButton->SetCheck(FALSE);
  27.                 }

  28.                 if (KeyboardState[VK_SCROLL] & 0x01)
  29.                 {
  30.                         CButton* pButton = (CButton*)GetDlgItem(IDC_TEST3);
  31.                         pButton->SetCheck(TRUE);
  32.                 }
  33.                 else
  34.                 {
  35.                         CButton* pButton = (CButton*)GetDlgItem(IDC_TEST3);
  36.                         pButton->SetCheck(FALSE);
  37.                 }
  38.         }

  39.         return CDialog::PreTranslateMessage(pMsg);
  40. }

复制代码
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:上位机MFC如何模拟键盘按键.rar 
文件大小:148.95 KB  售价:1金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我


上位机MFC如何模拟键盘按键

上位机MFC如何模拟键盘按键

  

上位机VC MFC程序开发精典实例大全源码与视频讲解配套下载408例

  

经历1年的编程与录制点击进入查看


  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  



回复

使用道具 举报

快速回复 返回列表 客服中心 搜索