V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
usnake
V2EX  ›  Python

想用 Python 写点类似 autohotkey 的脚本 请问怎么注册全局热键

  •  
  •   usnake · 2022-09-22 21:20:17 +08:00 · 2653 次点击
    这是一个创建于 798 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需要屏蔽热键原来的功能

    14 条回复    2022-10-09 12:48:38 +08:00
    ClericPy
        1
    ClericPy  
       2022-09-22 21:25:09 +08:00
    插眼等个答案

    插嘴一句题外话:

    很早以前用 ctypes 调用过 autohotkey.dll, 后来有个老外有个库可以把 Python 代码翻译成 ahk 的, 然后他把中文编码问题修好了以后就直接用那个了... 再后来实在喜欢 ahk 的编译为单个 exe 功能, 就不走 Python 了...
    ClericPy
        2
    ClericPy  
       2022-09-22 21:27:12 +08:00
    忘了说, 以前用 tkinter 貌似有绑定 key Event
    myxingkong
        3
    myxingkong  
       2022-09-22 21:36:03 +08:00
    zijieq
        4
    zijieq  
       2022-09-22 21:40:54 +08:00
    之前用过这个是可以的: https://pypi.org/project/system_hotkey/
    usnake
        5
    usnake  
    OP
       2022-09-22 21:47:10 +08:00
    @ClericPy 我是初学者 感觉 ahk 的语法太乱了 不知道你们熟手怎么看
    ClericPy
        6
    ClericPy  
       2022-09-22 21:52:05 +08:00
    @usnake 无它, 难受的想死, 所以只写点简单功能...

    主要就是看好它两个地方: 编译单文件 exe(比 pyinstaller 那种要解压 tmp 的靠谱多了, 是真的单文件, 前者解压过去有时候 kill 了就留了一大堆文件不清理很烦) 天生丰富的 Windows api. 当时比如针对控件 id 的点击或者后台点击太方便了, 挂机干很多事情; 另一个就是窗口内相对坐标的点击, 比 pyautogui 那种全屏定位坐标的方便不少
    LittleboyHarry
        7
    LittleboyHarry  
       2022-09-22 21:58:30 +08:00
    不如用 C#,写起来跟 Java 一样爽快、跟 Windows 兼容性好。找一下 nuget 相关库:

    https://www.nuget.org/packages?packagetype=dependency&sortby=totalDownloads-desc&q=hotkey&prerel=false
    usnake
        8
    usnake  
    OP
       2022-09-22 22:00:47 +08:00
    @ClericPy 我听人家说 aardio 比 autohotkey 语法好得多,但是还没开始学习,不知道您有没有了解过
    ClericPy
        9
    ClericPy  
       2022-09-22 22:08:58 +08:00
    @usnake 就是 一鹤 那个 aauto 吧, 名气很大也很厉害, 下载很久, 懒得用放弃了... Python 够使的了, 虽然我在 Python 之前先用的 autohotkey, 当时在 AutoIt 3 和 Python 之间选了后者...
    kid740246048
        10
    kid740246048  
       2022-09-22 22:18:04 +08:00
    @usnake #5
    我也觉得语法挺乱的,不过 AutoHotkey v2 版本相对改善了一点
    ila
        11
    ila  
       2022-09-22 22:26:34 +08:00 via iPhone
    可以试手 autoit ,编译单一文件
    weixiangzhe
        12
    weixiangzhe  
       2022-09-23 10:21:50 +08:00
    我用过一个 python 的版本
    https://github.com/autokey/autokey
    610915518
        13
    610915518  
       2022-09-23 11:34:09 +08:00
    ahk 在 spam key 的时候很容易死循环。比如鼠标按着左键即达成模拟狂点左键的效果,有时候即使松开左键了还在狂点。。。

    $XButton1::
    While GetKeyState("XButton1", "P") {
    Send {f}
    Sleep 50
    }
    Return
    yagamil
        14
    yagamil  
       2022-10-09 12:48:38 +08:00
    linux 下用的 autokey
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1245 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 23:14 · PVG 07:14 · LAX 15:14 · JFK 18:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.