【问题标题】:Autohotkey - Repetitive hotkey [duplicate]Autohotkey - 重复热键 [重复]
【发布时间】:2012-12-14 17:04:54
【问题描述】:

可能重复:
how to send a letter as itself when it is used as hotkey in autohotkey

当我尝试运行脚本时:

v::Send tv

它开始重复输入 t。

在玩自动热键时,我可能做错了什么,现在它不再说

第 1 行出错。

行文本:; v::发送电视 错误:无效的热键。

程序将退出。

(后来我用;发表了评论,之前问题一直存在。)

谁能告诉我我做错了什么?

【问题讨论】:

  • 我知道这是因为 tv 中的“v”发送了一个“t”和“v”,其中发送的“v”再次发送了“t”和“v”。如何避免这种连锁反应?

标签: autohotkey


【解决方案1】:

热键在发送v 时会自行触发。尝试使用$

$v::Send tv

我不确定是什么导致它显示“无效热键”。

【讨论】:

  • 所以我猜这是初学者的错误。谢谢。
【解决方案2】:

您也可以使用:

:?*:v::tv ; * = no need to press enter, ? = will execute vene if letters have been typed before.

为了避免不能在其他地方使用字母 v 的问题,我通常使用 v\ 这个组合,因为它既简单又独特:

:?*:v\::tv

如果你想将 v 键的行为限制在一个应用程序中,我会使用 AutoHotKey spy 来获取应用程序特定的 ID 或名称,并将热键放在 #ifwinactive 中。您需要将 SetTitleMatchMode, 2 放在脚本的顶部。这为#ifwinactive 等函数设置了字符串数学行为。在此示例中,v\ 仅适用于 Google Chrome。

SetTitleMatchMode, 2

#ifWinActive, Chrome ; limits the use of the following hotkey(s) to Chrome only.
    :?*:v\::tv
#ifWinActive

【讨论】:

    猜你喜欢
    • 2018-03-02
    • 1970-01-01
    • 2016-06-04
    • 2013-06-24
    • 2013-09-26
    • 2018-05-25
    • 1970-01-01
    • 2021-06-15
    相关资源
    最近更新 更多