我注册了热键Ctrl+C后,程序一启动,真实的Ctrl+C就不能复制选中的文本了
RegisterHotKey(this->m_hWnd,1002,MOD_CONTROL,'C');我要实现的目的是,用户一按Ctrl+C 我就把剪切板中原有的内容仍然保存,新的内容换一行,但是,现在我的软件不能获取Ctrl+C的响应,如果我注册了热键Ctrl+C,那么真实的Ctrl+C就不能用了,如果我不注册,那么我怎么知道用户按了Ctrl+C键?小弟还想知道,怎么样获取当前的选中的文本内容,我想用别的组合键来代替Ctrl+C

解决方案 »

  1.   

    Ctrl+C是系统热键,当你再次注册时,必然冲突,只能有一个有用.你倒不如直接用程序的PreTranslateMessage 来捕获这两个按键,然后通过剪贴板的API来对它进行操作,避开热键,我倒觉得这种方法比注册热键来得安全.
      

  2.   

    但是用PreTranslateMessage 好像只能针对于本窗体使用吧?好像不能对全局使用,如果我的应用程序不是当前窗口,好像就不能使用了是不是?如果可以的话,请详细点,给点例子
      

  3.   

    qrlvls(≌AIR⌒LIKE) (≤和空气一样帅≥√) 
    怎么样使用钩子?给个小例子吧?就是针对Ctrl+C的,如果不冲突那真得太好了
      

  4.   

    如 qrlvls(≌AIR⌒LIKE) (≤和空气一样帅≥√) 所说,可以使用全局钩子来实现。