我正在研究一个脚本,它抓住我的鼠标控制并在简单的无限while循环内运行。全局热键来停止窗口脚本
def main():
while True:
do_mouse_stuff()
由于鼠标控制的,它的点击蟒蛇窗口,然后按Ctrl-C痛,所以我一直在寻找一种方式来实现Windows中的全局热键。我也是一个相对的Python noob,所以我可能错过了一个明显的答案。我找到的东西:
pyhk - 最近我得到了,但这个模块做了一些令人讨厌的事情我的电脑出于某种原因(可能是我做错了什么),它引入了主要的鼠标滞后,完整的输入锁定,各种我不够聪明的东西来处理。
pyHook - 跟着tutorial,工作正常,但无限的运行消息泵和我的while循环似乎独家运行,我还没有想出如何使其工作。
Another Method - 我也发现了这个方法,但是我有和pyHook一样的问题,try循环和我的while循环不能共存。
我试图弄清楚如何将我的循环集成到这些示例中,而不是维护一个单独的循环,但我一直无法完成这项工作,可能是由于我的noobishness。有人能够让我知道如何完成这项工作吗?
如果你想自己实现一个消息循环,它必须是唯一的,并且只能有一个,它可以分派所有的事件,不管它们来自键盘,鼠标还是无论哪个。这就是为什么pyHook似乎不适合你。 – Hyperboreus
这正是问题所在,我不知道如何使它成为一个循环,因为messagePump和Try循环似乎排除了我尝试添加到它们的任何内容。只要我的代码正常工作,全局热键将不起作用,只要全局热键工作,脚本就会在那里等待热键而不是执行我的功能。 – Mark
为什么不使用已有工作消息队列的东西,例如一个qt应用程序。 – Hyperboreus