void CKeyBoardDlg::OnButton4() 
{
// TODO: Add your control notification handler code here
ReleaseFocus();
::keybd_event('0xA1', 0, 0, 0); // 按下
::keybd_event('0xA0', 0, 0, 0); // 按下
::keybd_event('0xA1', 0, KEYEVENTF_KEYUP, 0); // 弹起
::keybd_event('0xA0', 0, KEYEVENTF_KEYUP, 0); // 弹起
}
程序如上,A1和A0分别对应LCtrl和LShift(百度文库),为什么我模拟了按键输入法出不来??

解决方案 »

  1.   

    尝试::keybd_event('0xA1', 0, 0, 0); // 按下
    ::keybd_event('0xA0', 0, 0, 0); // 按下
    ::keybd_event('0xA0', 0, KEYEVENTF_KEYUP, 0); // 弹起
    ::keybd_event('0xA1', 0, KEYEVENTF_KEYUP, 0); // 弹起或者::keybd_event('0xA0', 0, 0, 0); // 按下
    ::keybd_event('0xA1', 0, 0, 0); // 按下
    ::keybd_event('0xA1', 0, KEYEVENTF_KEYUP, 0); // 弹起
    ::keybd_event('0xA0', 0, KEYEVENTF_KEYUP, 0); // 弹起
      

  2.   

    已解决,用了这个
    ReleaseFocus();
    ::keybd_event(VK_CONTROL , 0, 0, 0); // 按下
    ::keybd_event(VK_SHIFT , 0, 0, 0); // 按下
    ::keybd_event(VK_CONTROL, 0, KEYEVENTF_KEYUP, 0); // 弹起
    ::keybd_event(VK_SHIFT , 0, KEYEVENTF_KEYUP, 0); // 弹起