BOOL GetKeyboardState(
  PBYTE lpKeyState   // array of status data
);

解决方案 »

  1.   

    试试以下代码(可能有些细节尚须处理):BOOL CSampleDlg::PreTranslateMessage(MSG* pMsg) 
    {
    // TODO: Add your specialized code here and/or call the base class
    if(pMsg->message ==WM_KEYDOWN && pMsg->wParam ==VK_CONTROL)
    ctrl=true;
    if(ctrl && pMsg->message ==WM_KEYDOWN && pMsg->wParam == 'C')
    {
    MessageBox("dfff");
    ctrl=false;
    }
    if(pMsg->message ==WM_KEYUP && pMsg->wParam ==VK_CONTROL)
           ctrl=false;
    return CDialog::PreTranslateMessage(pMsg);
    }
      

  2.   

    为什么if(pMsg->message ==WM_KEYUP && pMsg->wParam ==VK_CONTROL)
    会ctrl=false;
        
      

  3.   

        if(pMsg->hwnd == Object.GetSafeHwnd() && 
                    pMsg->message == WM_KEYDOWN &&
          pMsg->wParam==VK_C&& (GetKeyState(VK_CONTROL)&0x8000))
        {
            AfxMessageBox("截到了Ctrl+C键");
        }
      

  4.   

    ctrl是自己加类的成员变量,初始化为false