在带有gui的另一个窗口中键入autohotkey

时间:2019-02-20 17:21:46

标签: autohotkey

需要自动热键示例

请需要帮助。我进行了搜索,但似乎找不到我需要的示例。

我想要做的是创建一个带有按钮的ahk对话框(我可以做这部分),当我单击它时,它将在另一个窗口中键入一些文本。基本上,我想将“快捷方式”卸载为“鼠标单击”。但是,没有映射快捷方式。

类似这样的东西:

当用户单击BOX1时,将存储“文本”。然后,当用户单击其他位置时,将vBOX1键入该单击激活的窗口的光标位置

我希望我能简要解释一下。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

有两种可能的选择:

第一种选择扩展了@scso的建议:

~LButton::
sleep, 200 ;give the window below the cursor some time to get activated
Send, %vBOX1%
return

现在,这看起来似乎不错,但实际上是每次在任何窗口中单击鼠标时都键入文本。让我们再进行一次检查,以便如果vBOX1为空,则不会输入任何内容。

~LButton::
sleep, 200 ;give the window below the cursor some time to get activated
If (vBOX1 != "")
{
  Send, %vBOX1%
  vBOX1 := ""  ; clears the contents of vBOX1
}
return

第二种选择

您通常使用鼠标单击,并且只有在执行Control + Click时才键入文本。 因此,要键入文本,您需要单击一次以选择窗口,然后按住Ctrl键并单击以进行实际键入

~^LButton::
Send, %vBOX1%
vBOX1 := ""  ; clears the contents of vBOX1
return

您可以通过添加用于检测活动窗口的命令,然后键入文本或将鼠标单击组合更改为其他内容来展开这两种选择。