想做个按键的响应,具体要求如下,是当程序运行后,不管什么时候(只要程序不关闭)按下组合键(比如ctrl+c)程序就响应一个事件(假设该事件是把程序中的一个全局变量a赋值为0)。就和QQ读取新消息一样(ctrl+alt+z)。
对于以上要求应该怎么写代码?大家帮帮我~感谢!

解决方案 »

  1.   

    HotKeyManager(热键管理),用这个组件,很好用,自己去下,到处都有.
      

  2.   

    这两天也在做热键的东西。用 RegisterHotKey 就可以,即使程序最小化,不是active状态也能响应。 只是当碰到热键冲突的时候不知道怎么处理。
      

  3.   


    用RegisterHotKey把热键注册成系统级的就可以了这里有文章说得很详细,注意语言替换,作者是用pascal描述的,换成C++http://blog.csdn.net/weixu_2008/archive/2007/11/08/1874575.aspx
      

  4.   

    不好意思,忘了这里是delphi坛子了,不用语言替换了。
      

  5.   

    我刚才实验了一下,按照6楼的帖子的做法,注册了2个热键alt+F4和alt+F8,经测试alt+f8无效,alt+f4有效,不知道何原因。大家帮忙看看
      

  6.   

    以上alt+f4能响应但是定义别的热键就不能响应的问题,还是没找到好的答案。
    于是我试了HotKeyManger下插件,果然好用,可是我怎么区别不同的热键呢,比如我定义 了2个热键(假设是alt+s和alt+c),一个用来做加法操作,一个做减法,怎么实现?