停止发送给编辑器的文本

时间:2014-09-13 15:54:15

标签: autohotkey

在脚本下方打开浏览器www.google.com

但是键“ch”被发送到编辑器窗口。

~c ::
~h::
If (GetKeyState("c","h") && GetKeyState("c","h")) {
    Run, "www.google.com"
    Return
}
Return

如何修改脚本以便不向编辑器发送输出文本?

或者可以从当前文本编辑器中删除焦点(例如记事本)?

1 个答案:

答案 0 :(得分:1)

我认为这两个版本中的一个可以满足您的需求:

版本1

c::
h::
If (GetKeyState("c") && GetKeyState("h")) {
    Run, "www.google.com"
}
Return



版本2

~c::
~h::
If (GetKeyState("c") && GetKeyState("h")) {
    Run, "www.google.com"
}
Return

您的错误:

查看GetKeyState命令的文档。第一个函数参数是您要检查的键的名称,第二个参数是GetKeyState命令应该起作用的模式。在您的示例"h"参数中,参数不正确。

另外,您不需要两个returns

此处~c ::空格会给您错误。它应该像~c::


此外,始终使用来自http://ahkscript.org/的AutoHotkey及其文档(当前最新版本,新官方网站)!来自autohotkey.com的AutoHotkey及其文档已过时,您可能在使用它们时遇到一些问题!


修改
如果热键具有前缀~,则当热键触发时,其键的本机功能将不会被阻止(从系统中隐藏)。因此,如果我们编写~c::,当您按 c 时,它将在您的脚本中充当热键,并且c也将发送到活动窗口。如果我们写c::,当您按 c 时,它将作为您脚本中的热键,但不会将任何内容发送到活动窗口。另请查看表格中的here以获取更多详细信息。