2011-09-04 91 views
1

在我的Qt应用程序时,当我的应用程序是最小化或在托盘中,我想监视全局键盘和鼠标,当用户使用CTRL +右键单击键时,我的应用程序可见状态设置为显示。在QT中捕捉全球键盘与鼠标

我该如何执行它。

+0

相关:http://stackoverflow.com/questions/ 2167876/IS-IT-可能使用的-Win 32的钩合Qt的应用程序 – HostileFork

回答

2

有很多很好的理由不写这种类型的应用程序(例如,当你有两个程序都得到这样一个想法与全球行为,他们将相互冲突,做一些随机看似) 。事实上,全球陷阱Ctrl +右键单击并弹出应用程序听起来像是一个非常糟糕的主意,因为许多程序已经为此定义了重要的行为。

通常一个更好的事情是不是让用户指定通过操作系统的机制热键:

http://lifehacker.com/343328/create-a-keyboard-shortcut-for-any-menu-action-in-any-program

或建议用户使用已经想通了一些第三方程序并让他们走动冲突的全局热键,以满足他们的口味:

http://lifehacker.com/software/hack-attack/turn-any-action-into-a-keyboard-shortcut-316589.php

有一些计划在那里,应对p只需轻触按钮,就可以获得相当不错的用户界面隐喻,这可能会使你相信他们比钩住右键更好。在Mac电脑上使用Quicksilver将是一件好事,可以查看想法。

无论如何你要解决它,你可能需要以不同的方式为每个平台做到这一点。在Windows中,你会想要一个全球 WH_MOUSE钩:

http://msdn.microsoft.com/en-us/library/ms644960(VS.85).aspx