python - 用于停止 Windows 脚本的全局热键

标签 python

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

def main():
    while True:
        do_mouse_stuff()

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

pyhk - 我得到的最接近的,但是这个模块出于某种原因(可能是我做错了什么)对我的电脑做了一些讨厌的事情,它引入了主要的鼠标滞后,完全输入锁定,我的各种东西'我不够聪明,无法应对。

pyHook - 遵循 tutorial ,工作正常,但无限运行的消息泵和我的 while 循环似乎专门运行,我还没有想出如何让它工作。

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

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

最佳答案

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

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

关于python - 用于停止 Windows 脚本的全局热键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13854515/

相关文章:

python - 使用 Pyside - VTK 和 QVTKRenderWindowInteractor

python - 漂亮的汤选择器小工具

python - Numpy 数组减法

python - 如何通过连接从数据库查询生成嵌套 JSON?使用 Python/SQLAlchemy

Python 情节 : How to denote ticks on the axes as powers?

python - 分组依据、聚合、包括单独的列

python - 从用 hydra.main() 修饰的函数返回配置

python - 使用 dump() 和 asXML() 函数时 pyparsing 不同的结果

python - RNN : understanfingConcatenating layers

python - Keras 中意外的关键字参数 'ragged'