Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何创建侦听windows事件的应用程序?_Windows_Delphi - Fatal编程技术网

如何创建侦听windows事件的应用程序?

如何创建侦听windows事件的应用程序?,windows,delphi,Windows,Delphi,我如何编写一个windows应用程序来监听特定的按键来启动它!就像谷歌桌面应用程序一样,按ctrl键两次,它就会弹出 我更喜欢delphi中的示例,但我不介意其他语言 对于初学者,我假设它应该是一个在windows中运行的服务(我可以创建一个服务应用程序) Gath如果您愿意,您可以使用自己的消息泵将其作为服务编写,捕获所有windows消息,检查与按键相关的消息,而不是将它们传递给默认的消息处理程序 我的Delphi非常生锈(版本4),所以我说不出怎么做 在C#中,编写服务的一个简单替代方法是

我如何编写一个windows应用程序来监听特定的按键来启动它!就像谷歌桌面应用程序一样,按ctrl键两次,它就会弹出

我更喜欢delphi中的示例,但我不介意其他语言

对于初学者,我假设它应该是一个在windows中运行的服务(我可以创建一个服务应用程序)


Gath

如果您愿意,您可以使用自己的消息泵将其作为服务编写,捕获所有windows消息,检查与按键相关的消息,而不是将它们传递给默认的消息处理程序

我的Delphi非常生锈(版本4),所以我说不出怎么做

在C#中,编写服务的一个简单替代方法是设置不透明度为0%、KeyPreview=True和ShowInTaskbar=False的应用程序表单


也许您的Delphi版本也有类似的功能。

制作一个安装全局键盘挂钩的服务。


您最好注册热键,而不是安装gobal键盘挂钩:

请参见以下网址的热键管理器:

重复?这一个有更多答案,因此最好关闭另一个。设置键预览是否会使窗口接收系统的所有键盘事件?我对此表示怀疑。它只是使窗口在该窗口上的控件之前接收键盘事件,与Delphi的KeyPreview属性相同。这对盖特的问题没有好处,是真的。我承认我是不假思索地发帖的。该死的冷给了我一个模糊逻辑的明确案例。对不起,登记处钥匙!不要安装全局钩子!你能像谷歌桌面搜索一样配置一个热键来响应两次Ctrl键吗?为什么它需要一个服务而不是一个普通的程序?