首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

AutoHotkey 的 Send 效率太低怎么办

  •  
  •   AX5N · 19 天前 · 610 次点击

    主要是拿来修改某游戏的按键映射,那个游戏的按键控制面板实在是太简陋了,所以打算用 AHK 让一个键能映射到几个按键上,虽然一个键能发出好几种命令,但其实在不同场景下只有一种命令能工作。

    因为自带的映射功能只能一个键映射到另一个键上,所以就绕个弯路用 Send 来实现。但是 Send 的效率太低,有时候能立即反应,有时候要按好几次才能反映过来。而 SendInput 在游戏里不工作,SendPlay 在 vista 之后就彻底废了。所以又只能转回头解决 Send 的效率问题了,有没又什么好的解决办法?

    目前尝试过增加延时(SetKeyDelay),和使用钩子(#UseHook),但效果都不尽如人意。

    不知道 AHK 脚本编译后的效率核 C 比如何,如果用 C 自己实现的话,会提升效率吗。

    代码:

    a::Send {Enter}
    
        1
    noe132   19 天前 via Android
    SendInput 试试用管理员权限执行脚本?
    有时候会有这个问题
    另外设置脚本 cpu 优先级最高能改善延迟的问题
        2
    AX5N   19 天前
    @noe132
    其实退一步来讲,就算能运行 SendInput 我也没法用,因为我那游戏必须要有至少 1 的延迟,否则按键触发不出来,而 SendInput 无法设置延迟。

    CPU 优先级我也尝试过,无果。
        3
    huaxianyan   19 天前
    down 和 up 有没有试试呢?我之前碰到 send 但是触发不了的时候我就让他按到能触发为止
        4
    loqixh   19 天前
    不是效率问题, 是游戏一般用 DirectInput, 没处理到你的消息
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   818 人在线   最高记录 3762   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 15ms · UTC 23:28 · PVG 07:28 · LAX 16:28 · JFK 19:28
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1