PyHook3获取组合按键

PyHook3基础介绍

PyHook3 包为 Windows 中的全局鼠标和键盘事件提供回调。Python 应用程序为用户输入事件注册事件处理程序,例如鼠标左键按下、鼠标左键弹起、按键按下等,并设置键盘和/或鼠标挂钩。底层 C 库报告事件时间、事件发生窗口的名称、事件值、任何键盘修饰符等信息。

PyHook3下载安装

下方链接博主进行了非常好的介绍,在此不再赘述

https://www.cnblogs.com/Denon-CAT/p/12771357.html

PyHook3获取组合键代码

PyHook可以用于获取键盘以及鼠标的操作,可以搜到很多常用的初始化代码,使用非常的便捷,但是对于组合按键的处理资料不是很多,需要自己写一些规则,现提供一个初始化模板代码供大家参考使用。

import PyHook3
import pythoncom
class KeystrokeWatcher():
    def __init__(self):
        self.hm = PyHook3.HookManager()
        self.hm.KeyDown = self.on_key_down
        self.hm.KeyUp = self.on_key_up
        self.hm.HookKeyboard()
        self.keys_held = set()

    def get_key_combo_code(self):
        return '+'.join([PyHook3.HookConstants.IDToName(key) for key in self.keys_held])

    def on_key_down(self, event):
        try:
            self.keys_held.add(event.KeyID)
        finally:
            return True

    def on_key_up(self, event):
        # change id to key
        key_combination = self.get_key_combo_code()
        try:
            if key_combination == 'Rcontrol+Rmenu+7' or key_combination == 'Lcontrol+Lmenu+7':
                # [TODO]
        finally:
            self.keys_held.clear()
            return True

    def shutdown(self):
        self.hm.UnhookKeyboard()
if __name__ == '__main__':
    key_watch = KeystrokeWatcher()
    pythoncom.PumpMessages()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要在Anaconda中安装PyHook3,有几种方法可以选择。首先,你可以直接使用conda或pip安装,但这种方法可能会因为各种原因报错。第二种方法是通过Anaconda Navigator进行安装,你可以在官网https://www.anaconda.com/下载最新版的Anaconda软件包,并按照提示进行安装。在安装过程中,也可以选择配置环境变量。 而最推荐的方法是通过Anaconda命令行进行安装。你可以打开Anaconda Prompt,并进入到../Anaconda3/pkgs路径下,然后执行命令"easy_install PyHook3-1.6.1-py3.7-win-amd64.egg",这样就可以成功安装PyHook3了。 需要注意的是,安装PyHook3前要确保已经安装了PyWin32和ctypes这两个依赖包,这两个包通常在Anaconda中已经安装好了,你可以使用"conda list"命令来查看是否已经安装。如果没有安装,可以直接使用conda进行安装。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [※python3.7 Anaconda PyHook3安装测试! 必看!](https://blog.csdn.net/qq_36696964/article/details/104885228)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Anaconda3安装](https://download.csdn.net/download/weixin_38534352/13747006)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值