V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
atumu
V2EX  ›  Visual Studio Code

想学习一下 AutoHotkey。 老铁们都有哪些最佳实践呀

  •  
  •   atumu · 2024-01-09 20:14:23 +08:00 · 3987 次点击
    这是一个创建于 375 天前的主题,其中的信息可能已经有所发展或是发生改变。

    先谢谢大家的无私奉献

    对 ahk 完全没接触过, 对用什么版本(目前 1.1) 编辑器(目前 vscode) 插件 编码 等等开发环境搭建有点抓瞎,希望大家多多指导

    26 条回复    2024-07-21 15:09:54 +08:00
    atumu
        1
    atumu  
    OP
       2024-01-09 20:19:27 +08:00
    报错乱码了 。。。
    atumu
        2
    atumu  
    OP
       2024-01-09 20:21:24 +08:00
    用的 autohotkey++(plus plus 那个)
    atumu
        3
    atumu  
    OP
       2024-01-09 20:23:00 +08:00
    igwen6w
        4
    igwen6w  
       2024-01-09 22:57:12 +08:00
    很久之前写过一个刷 gt7 游戏币的脚本,当时是照着文档硬撸的,现在忘完了
    atumu
        5
    atumu  
    OP
       2024-01-09 23:25:34 +08:00
    @igwen6w #4 好吧 硬撸吧
    shucai886
        6
    shucai886  
       2024-01-09 23:28:21 +08:00
    GPT 。。

    插件默认 V2 语法的
    loveqianool
        7
    loveqianool  
       2024-01-09 23:57:26 +08:00 via Android
    atumu
        8
    atumu  
    OP
       2024-01-10 00:35:17 +08:00
    @loveqianool #7 意思就是得用 v2 呗
    azusematsuri
        9
    azusematsuri  
       2024-01-10 01:50:20 +08:00   ❤️ 1
    我自己用了许多年的几个 ahk 快捷键:
    alt+,和.切换上一首下一首
    !,::SendInput {Media_Prev}
    return
    !.::SendInput {Media_Next}
    return

    alt+f1f2f3f5 调音量静音播放暂停(这个其实很容易按倒 alt f4 捂脸)
    !F1::SendInput {Volume_Mute}
    Return
    !F2::SendInput {Volume_Down}
    Return
    !F3::SendInput {Volume_Up}
    Return
    !F5::SendInput {Media_Play_Pause}
    Return

    alt+ctrl+空格,一键置顶窗口(也可以取消本来置顶的窗口置顶)
    !^SPACE:: Winset, Alwaysontop, , A

    alt+上下切换标签页,alt+/关闭标签页(有 qmk 键盘之后现在习惯用 capslock+q 和 e 切换标签页了)
    #IfWinActive, ahk_class Chrome_WidgetWin_1
    !Up::SendInput, ^{PGUP}
    !Down::SendInput, ^{PGDN}
    !/::SendInput, ^{w}
    return
    #IfWinActive, ahk_class ApplicationFrameWindow, Microsoft Edge
    !Up::SendInput, ^{PGUP}
    !Down::SendInput, ^{PGDN}
    !/::SendInput, ^{w}
    return
    auh
        10
    auh  
       2024-01-10 03:26:06 +08:00
    本地安装环境,也选择 v2.因为,会兼容 v1 运行。
    auh
        11
    auh  
       2024-01-10 03:39:23 +08:00
    1. 学习 v2 语法。v1 语法不是很舒服。v2 会好很多。个人感觉。

    2. 编译环境,vscode ,安装 ahk 插件,可以直接在 vscode ,debug 。debugout ,msgbox ,常见的输出调试吧。

    3. 学习方法:看文档。因为确实没啥好学的。文档看完,就学差不多了。先梳理其基本功能模块,基本能力。然后每个模块找找重点。就完了,剩下的就实践中去看。

    4. 练习几个,去 github 上找几个看看。结束。
    eagleoflqj
        12
    eagleoflqj  
       2024-01-10 06:56:47 +08:00 via iPhone
    https://github.com/amorphobia/rabbit
    基于 rime 和 ahk 的输入法,可以看看
    swsh007
        13
    swsh007  
       2024-01-10 09:20:56 +08:00 via Android
    就用来改改系统快捷键,
    比如 win+q 开 everything ,
    这个比较适合折腾。
    Scarb
        14
    Scarb  
       2024-01-10 09:33:31 +08:00
    感觉不用特意学,有什么要求让 gpt 写就完了。
    这个是写一次,然后用很久
    Tink
        15
    Tink  
       2024-01-10 09:36:10 +08:00
    gpt 写这个不是一写一个准
    lzz2394677796
        16
    lzz2394677796  
       2024-01-10 09:37:41 +08:00
    PuloversMacroCreator——图形化 ahk 工具
    Subfire
        17
    Subfire  
       2024-01-10 09:45:56 +08:00
    @lzz2394677796 这个不错
    QWE321ASD
        18
    QWE321ASD  
       2024-01-10 09:48:08 +08:00
    想做游戏自动化得话光这个不好使,很多鼠标事件被拦截了
    mouyase
        19
    mouyase  
       2024-01-10 09:52:04 +08:00
    之前写的项目 https://github.com/mouyase/DNFAutoFire
    开发环境用的 1.1+VSCode ,遇到不会的就翻官方文档
    alexsz
        20
    alexsz  
       2024-01-10 10:03:08 +08:00
    很久以前我用 AHK 的前身 autoit script 写了一个自动安装软件的工具,然后就发现大家都转 ahk 了😅
    loveDiu4ever
        21
    loveDiu4ever  
       2024-01-10 11:14:21 +08:00
    以前打魔兽一键宏懒得自己按就是用 ahk
    UG1u8zhQxhvqXNrk
        22
    UG1u8zhQxhvqXNrk  
       2024-01-10 13:06:53 +08:00
    请教一下 有些游戏用这种自动化的脚本操作不了,应该是游戏做一些防脚本的策略,这个一般咋解决呢。例如《命运方舟》。。
    ChaosesIb
        23
    ChaosesIb  
       2024-01-10 16:20:29 +08:00
    @burgleaf #22 @QWE321ASD #18 可以试试我的这个驱动键鼠库,支持 AHK 1/2: https://github.com/Chaoses-Ib/IbInputSimulator
    QWE321ASD
        24
    QWE321ASD  
       2024-01-11 13:47:34 +08:00
    @ChaosesIb 感谢,过年时试试
    QWE321ASD
        25
    QWE321ASD  
       363 天前
    @ChaosesIb 试了一下,还是被 dnf 屏蔽了.腾讯净在恶心玩家的地方下重手...
    ko1haha
        26
    ko1haha  
       181 天前
    入门:vscode + 插件,脚本里写个 reload 热键,写完一键重载。

    查文档:定义快捷键,在 vscode 中一键查询本地文档文件。

    gpt:cursor editor

    ---

    进阶:配合自己写的 c++代码、调用 bat 等其他脚本并获取返回值、脚本中直接调用 dll / com / acc 接口、用浏览器扩展调用 AHK ……

    没有做不到,只有想不到

    hotfix: 脚本复杂了最好用其他脚本做个强制重载的入口,避免死循环。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2758 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 12:57 · PVG 20:57 · LAX 04:57 · JFK 07:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.