CString m_mouseleft;
CString m_mouseright;
CString m_mousestop;
        3个字符串变量,分别表示鼠标左键,右键,和停止。
        if(!RegisterHotKey(this->m_hWnd,1001,0,_ttoi(m_mouseleft)))  //注册热键左键没问题
{  
MessageBox(_T("注册鼠标左键失败!"));  
return   FALSE;  
}   if(!RegisterHotKey(this->m_hWnd,1002,0,_ttoi(m_mouseright)))   //注册右键的时候出现问题。
{  
MessageBox(_T("注册鼠标右键失败!"));             
return   FALSE;  
}  if (!RegisterHotKey(this->m_hWnd,1003,0,_ttoi(m_mousestop)))  //注册热键停止没问题
{
MessageBox(_T("注册鼠标停止失败!")); 
}
UpdateData(FALSE);我试验了一下,如果把注册右键的代码放在最后,那么注册停止的又有问题。也就是说注册的第2个总是通不过。为什么呢?
代码没有问题啊。请高手解答。

解决方案 »

  1.   

    我知道原因了,是我注册的最后一个参数没写对。应该是‘P’这样类型的就对了。
    但是我需要的是直接获取edit变量(也就是用户输入的自定义热键)。例如F1。
    这个怎么办呢?
      

  2.   

    ,_ttoi(m_mouseright)有问题吧,最后参数:UINT vk  // virtual-key code
      

  3.   

    通不过?GetLastError函数的返回值是什么?
      

  4.   

    让用户输入什么,输入vk code?
      

  5.   

    回复5楼 如果我直接用,_ttoi(m_mouseleft))) 赋值的话,程序就会调用失败。
    因为用户一旦输入F1这类的系统热键,就会失败。
    回复6楼,我希望实现的是,用户输入什么就能把什么注册为热键。比如F1,ALT..这些特殊的键。
      

  6.   

    "WINUSER.h"中不是有:
    #define VK_F1    0x70
    等用户输入后再注册。
      

  7.   

    做个map,把热键的值和对应的字符串关联起来,通过字符串查到到值