在后台检测 python 中的按键

2024-02-09

我正在尝试找到一种方法来检测按键,然后根据按键运行一个方法。

我已经可以使用 Tkinter 做到这一点。但我不能做的是在窗口处于后台时检测按键。当我玩游戏时,我将在后台运行这个程序。我需要它能够在我玩游戏时检测输入。

有什么办法可以用 Tkinter 或其他东西来做到这一点吗?最好我不想下载任何外部的东西,因为我想将其分发给其他人。


pyHook http://sourceforge.net/projects/pyhook/似乎它对此很有效(由furas提到)

from pyHook import HookManager
from win32gui import PumpMessages, PostQuitMessage

class Keystroke_Watcher(object):
    def __init__(self):
        self.hm = HookManager()
        self.hm.KeyDown = self.on_keyboard_event
        self.hm.HookKeyboard()


    def on_keyboard_event(self, event):
        try:
            if event.KeyID  == keycode_youre_looking_for:
                self.your_method()
        finally:
            return True

    def your_method(self):
        pass

    def shutdown(self):
        PostQuitMessage(0)
        self.hm.UnhookKeyboard()


watcher = Keystroke_Watcher()
PumpMessages()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在后台检测 python 中的按键 的相关文章

  • 如何使用 Python 3 绕过 HTTP Error 403: Forbidden with urllib.request

    您好 不是每次都这样 但有时在尝试访问 LSE 代码时 我会收到每一个烦人的 HTTP 错误 403 禁止消息 任何人都知道我如何仅使用标准 python 模块来克服这个问题 遗憾的是没有漂亮的汤 import urllib request
  • 此 TypeError 消息中提到的“代码对象”是什么?

    在尝试使用Python时exec声明 我收到以下错误 TypeError exec arg 1 must be a string file or code object 我不想传递字符串或文件 但什么是代码对象 如何创建一个 创建代码对象的
  • 从文本文件中删除特定字符

    我对 Python 和编码都很陌生 我当时正在做一个小项目 但遇到了一个问题 44 1 6 23 2 7 49 2 3 53 2 1 68 1 6 71 2 7 我只需要从每行中删除第三个和第六个字符 或者更具体地说 从整个文件中删除 字符
  • 使用 django-rest-framework 设置对象级权限

    尝试使用 django rest framework 最干净 最规范地管理 django guardian 对象级权限 我想将对象的读取权限 module view object 分配给在执行 POST 时发出请求的用户 我的基于阶级的观点
  • 如何返回 cost, grad 作为 scipy 的 fmin_cg 函数的元组

    我怎样才能使 scipy 的fmin cg使用一个返回的函数cost and gradient作为元组 问题是有f对于成本和fprime对于梯度 我可能必须执行两次操作 非常昂贵 grad and cost被计算 此外 在它们之间共享变量可
  • Mypy 无法从文字列表推断项目的类型

    我有一个变量x和一个文字列表 例如 0 1 2 我想转换x这些文字之一 如果x在列表中 我将其退回 否则我返回一个后备值 from typing import Literal Set Foo Literal 0 1 2 foos Set F
  • 使用 Boto3 以字符串形式打开 S3 对象

    我知道使用 Boto 2 可以使用以下命令将 S3 对象作为字符串打开 get contents as string http boto readthedocs org en latest ref file html highlight c
  • Matplotlib:如何有效地将大量线段着色为独立渐变

    Python 绘图库 如何有效地将大量线段着色为独立渐变 已经 阅读this https stackoverflow com questions 8500700 how to plot a gradient color line in ma
  • 使用 Paramiko 进行 DSA 密钥转发?

    我正在使用 Paramiko 在远程服务器上执行 bash 脚本 在其中一些脚本中 存在与其他服务器的 ssh 连接 如果我只使用 bash 不使用 Python 我的 DSA 密钥将被第一个远程服务器上的 bash 脚本转发并使用 以连接
  • Python将文本文件解析为嵌套字典

    考虑以下数据结构 HEADER1 key value key value HEADER2 key value key value HEADER3 key value HEADER4 key value key value 原始数据中没有缩进
  • Spark 和 Python 使用自定义文件格式/生成器作为 RDD 的输入

    我想问一下 Spark 中输入的可能性 我可以看到从http spark apache org docs latest programming guide html http spark apache org docs latest pro
  • 从 Flask 运行 NPM 构建

    我有一个 React 前端 我想在与我的 python 后端 API 相同的源上提供服务 我正在尝试使用 Flask 来实现此目的 但我遇到了 Flask 找不到我的静态文件的问题 我的前端构建是用生成的npm run build in s
  • pandas 相当于 np.where

    np where具有向量化 if else 的语义 类似于 Apache Spark 的when otherwise数据帧方法 我知道我可以使用np where on pandas Series but pandas通常定义自己的 API
  • Airflow 1.9 - 无法将日志写入 s3

    我在 aws 的 kubernetes 中运行气流 1 9 我希望将日志发送到 s3 因为气流容器本身的寿命并不长 我已经阅读了描述该过程的各种线程和文档 但我仍然无法让它工作 首先是一个测试 向我证明 s3 配置和权限是有效的 这是在我们
  • 使用 Python 将连续日期分组在一起

    Given dates datetime 2014 10 11 datetime 2014 10 1 datetime 2014 10 2 datetime 2014 10 3 datetime 2014 10 5 datetime 201
  • 带 Flask 的 RPI dht22:无法将第 4 行设置为输入 - 等待 PulseIn 消息超时

    我正在尝试制作一个 Raspberry Pi 3 REST API 使用 DHT22 提供温度和湿度 整个代码 from flask import Flask jsonify request from sds011 import SDS01
  • 将 Keras 集成到 SKLearn 管道?

    我有一个 sklearn 管道 对异构数据类型 布尔 分类 数字 文本 执行特征工程 并想尝试使用神经网络作为我的学习算法来拟合模型 我遇到了输入数据形状的一些问题 我想知道我想做的事情是否可能 或者我是否应该尝试不同的方法 我尝试了几种不
  • 如何使用 python 定位和读取 Data Matrix 代码

    我正在尝试读取微管底部的数据矩阵条形码 我试过libdmtx http libdmtx sourceforge net 它有 python 绑定 当矩阵的点是方形时工作得相当好 但当矩阵的点是圆形时工作得更糟 如下所示 另一个复杂问题是在某
  • 用于插入或替换 URL 参数的 Django 模板标签

    有人知道 Django 模板标签可以获取当前路径和查询字符串并插入或替换查询字符串值吗 例如向 some custom path q how now brown cow page 3 filter person 发出请求 电话 urlpar
  • 定义在文本小部件中双击时选择哪些字符

    在 Windows 上 双击文本小部件中的单词也将选择连接的标点符号 有什么方法可以定义您想要选择的角色吗 tcl wordchars该变量的值是一个正则表达式 可以设置它来控制什么被视为 单词 字符 例如 通过双击 Tk 中的文本来选择单

随机推荐

  • 数 45 秒,暂停 20 秒,然后用不同的标题重复

    在尝试限制电池使用时 我不需要有繁忙的循环 所以我不确定如何解决这个问题 如果我有一个程序 允许某人唱歌 45 秒 然后他们暂停 20 秒喝一杯 然后重复唱一定数量的歌曲 我的计时器是在取消一次迭代并开始另一次迭代后 计时器无法正常工作 h
  • 使用asp.net中的web api通过http进行身份验证

    我观看并浏览了很多有关保护 ASP NET Web API 的页面 包括 http weblogs asp net jgalloway archive 2012 03 23 asp net web api screencast series
  • 为什么 Angular 构建会创建带有“es5”和“es2015”的文件,而不是“es6”(或者根本没有后缀)?

    我最近下载了Angular CLI 角度 cli 9 0 1 然后我继续创建一个新的应用程序 以便我可以创建一个新的 Angular 元素 将其打包并在另一个应用程序中使用它 在关注了几篇博客之后 我遇到的每个博客的最后一步都讨论了从放在
  • 在 Liferay 7 中创建自定义标签库

    我正在使用 Liferay 7 和 OSGi 模块编写一个应用程序 我需要创建一个跨所有模块 portlet 可用的自定义标签库 但我几乎不知道从哪里开始 你有什么主意吗 我应该将 taglib 定义 类和 JSP 存储在 OSGi 模块中
  • Laravel 502 网关错误错误

    我使用 Laravel 5 3 和最新的 Homestead 设置 当我向 API 发出 POST 请求时 根据日志文件 我收到此错误 2016 10 29 12 44 34 错误 776 0 28 recv 失败 104 连接 由对等方重
  • 如何停止正在运行的线程?

    from pyautogui import moveTo click rightClick write keyDown keyUp hotkey scroll import pyautogui import pyperclip import
  • 寻找 IPFW 以外的替代解决方案来减慢互联网连接速度

    我需要减慢 模拟坏的 互联网连接 我发现了一些文档 其中它是通过 ipfw pipeline 命令实现的 问题是在最新的 MAC OS 版本中 ipfw 已被弃用 并删除 我想知道 ipfw API 是否有其他替代方案 有谁知道最新的网络链
  • java 中什么样的全局变量是不好的做法?

    对于我的许多java项目 我广泛使用数据库 我通常做的是有一个property xml文件来保存我所有的字符串和设置 然后我就去上课CNST保存与 xml 文件中的静态常量相对应的所有静态常量 这些常量在程序启动时由 xml 文件初始化一次
  • 如何设置 Rake 任务进行播种

    这确实是一个关于 Rake Rails 以及一般依赖关系的新手问题 尝试让我的头脑了解所有这些如何组合在一起 基本上 我想要一个像 Seed rb 一样但单独调用的 Rake 任务 它添加了开发环境的测试数据 而我的seed rb则提供了所
  • getsockopt IPPROTO_SCTP、SCTP_STATUS 的“无效参数”

    设想 我创建了 SCTP 一对多套接字 以大写字母开头的函数调用相应的标准函数 检查错误并将 errno 打印到 stderr int sock fd msg flags char readbuf BUFFSIZE struct socka
  • DataGridComboBoxColumn 数据绑定

    我正在尝试数据绑定DataGridComboBoxColumn
  • 在 Java 中查找不可序列化字段的好方法

    我有一个相当复杂的 Java 对象需要序列化 几周前运行良好 在同时实现了很多之后 序列化现在失败并抛出以下异常 java io NotSerializableException sun java2d SunGraphics2D 我检查了所
  • 在自然断点处分割字符串

    在渲染标题时 使用 reportlab 如果标题长度超过 45 个字符 我想将其拆分为两行 到目前为止我有这个 if len Title lt 45 drawString 200 695 Title else drawString 200
  • UIManagedDocument 中核心数据对象的状态保存和恢复策略

    我开始尝试向我的 iOS 应用程序添加对状态保存和恢复的支持 该应用程序有一个核心数据组件 我可以通过 UIManagedDocument 访问该组件 我开始将恢复标识符添加到我的视图控制器中 并在我的 AppDelegate 和控制器中连
  • 完成处理程序 swift 3 从函数返回一个变量

    我对 swift 3 中完成处理程序的语法感到困惑 在下面的函数中 解析后xml来自 Web 服务调用的文件 它应该返回一个变量 array String String 我的尝试如下 但显然这是不正确的 enum HistoryKey ca
  • header("Location: ...) 之后的代码是否执行?

    SESSION some value 4 header Location another file php SESSION some value 5 有什么价值 SESSION some value 值为 5 您可以输出更多的标头 而不仅仅
  • 从 python 中的 for 循环返回值

    我试图找出在 for 循环语法中将参数从一个列表或字典传递到另一个列表或字典的语法 我正在寻找的期望结果是这样的 for bean in beans if bean type coffee print bean 只是 我不想打印到标准输出
  • 在java中将图像作为文本发送

    是否可以将图像读取为文本并通过网络发送 是的 那么我们该怎么做呢 您可以对图像进行 Base64 编码以生成 文本 字符串 Apache Commons Codec 有 Base64 实现 http commons apache org c
  • 更新到23.3.0后Android支持库错误

    我一直在使用 android support v4 23 1 1 最近尝试将其更新到 23 3 0 被问及时的最新版本 但出现以下错误 错误 与依赖项 com android support support annotations 冲突 应
  • 在后台检测 python 中的按键

    我正在尝试找到一种方法来检测按键 然后根据按键运行一个方法 我已经可以使用 Tkinter 做到这一点 但我不能做的是在窗口处于后台时检测按键 当我玩游戏时 我将在后台运行这个程序 我需要它能够在我玩游戏时检测输入 有什么办法可以用 Tki