2012-12-13 97 views
2

可能重复:
how to send a letter as itself when it is used as hotkey in autohotkeyAutoHotkey的 - 重复热键

当我尝试运行脚本:

v::Send tv 

它开始重复键入吨。

虽然在AutoHotkey打我可能做错了什么,现在说退出在行

错误1.

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

该程序将退出。

(我把它用;后,这个问题之前持续了评语)

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

+0

我知道这是因为电视中的'v'发送't'和'v',发送的'v'再次发送't'和'v'。如何避免这种连锁反应? –

回答

1

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

$v::Send tv 

我不知道是什么原因导致它说“无效的热键”。

+0

所以我想这是一个初学者的错误。谢谢。 –

0

或者您可以使用:

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

为了避免不能够使用字母V其他地方的问题,我通常使用v \这个组合,因为它很容易的和独特的:

:?*:v\::tv 

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

SetTitleMatchMode, 2 

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