5

我正在编写一个脚本,该脚本可以控制我的鼠标并在一个简单的无限 while 循环中运行。

def main():
    while True:
        do_mouse_stuff()

因为鼠标控制的关系,在python窗口上点击然后按ctrl-c很痛苦,所以一直在寻找一种在windows中实现全局热键的方法。我也是一个相对的 Python 菜鸟,所以我可能错过了一个明显的答案。我发现的东西:

pyhk - 我得到的最接近的,但是这个模块出于某种原因对我的计算机做了一些讨厌的事情(可能是我做错了),它引入了主要的鼠标延迟,完全输入锁定,各种我不聪明的东西足以应付。

pyHook - 按照教程,工作正常,但无限运行的消息泵和我的 while 循环似乎只运行,我还没有弄清楚如何让它工作。

另一种方法——我也找到了这个方法,但是我和pyHook有同样的问题,try循环和我的while循环不能共存。

我试图弄清楚如何将我的循环集成到这些示例中,而不是维护一个单独的循环,但我无法完成这项工作,这可能也是由于我的笨拙。有人能帮我弄清楚如何完成这项工作吗?

4

1 回答 1

-1

也许使用msvcrt?我不确定它是否是“全球性的”,不幸的是,我现在无法对其进行测试,但这里有一个检测 Escape 键的示例(取自这个问题),与您的键盘内容集成:

import msvcrt

def main():
    while True:
        do_mouse_stuff()

        # Check if `Esc` has been pressed
        if msvcrt.kbhit() and msvcrt.getch() == chr(27).encode():
            aborted = True
            break
于 2012-12-13T07:02:50.537 回答