【问题标题】:Can I change the input (GetKeyState) and output (Send,) keys based on user input (preferably InputBox)?我可以根据用户输入(最好是 InputBox)更改输入 (GetKeyState) 和输出 (Send,) 键吗?
【发布时间】:2013-07-18 21:50:39
【问题描述】:

我想制作一个临时创建 Turbo 按钮的脚本,每次运行时可自定义输入/输出。理想情况下,像

InputBox, TriggerKey, Input Trigger Here    ; Custom turbo trigger
InputBox, TurboKey, Input Turbo Button Here ; and custom turbo key
while NOT GetKeyState("F12", "P") { ; Just so the loop would close if you ran this
  while GetKeyState(%TriggerKey%, "P") { ; when the inputted trigger is held...
    Send, %TurboKey%                     ; rapid-fire the inputted turbo
    Sleep 50
  }
}

上面的代码没有用,我不确定这是 GetKeyState/InputBox 格式问题、用户输入问题(我没有输入正确的字符串),还是我无法制作像这样的定制涡轮增压器。

我对此的最新想法只是使用输入的密钥编写和运行另一个 .ahk 文件,但如果这可以实现而无需管理多个文件,那就太好了。

【问题讨论】:

  • 我不确定我是否理解您想要完成的任务。你能解释一下你想做什么吗?什么是“触发器”?因此,只要不按住 F12P 键,您是否希望某些事情不断发生?

标签: autohotkey inputbox


【解决方案1】:

这最好使用Hotkey 命令来完成。这样,在您的输入框中输入的 TriggerKey 将触发标签下的任何代码。

InputBox, TriggerKey, Input Trigger Here    ; Custom turbo trigger
InputBox, TurboKey, Input Turbo Button Here ; and custom turbo key

Hotkey, % TriggerKey, TriggerKey
Return

TriggerKey:
    While ! GetKeyState("F12", "P") 
    {
        Send, %TurboKey%
        Sleep 50
    }
Return

【讨论】:

    猜你喜欢
    • 2012-12-17
    • 2011-01-05
    • 2013-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多