我想知道为什么我的脚本不会等我发送热键 Alt + Shift + q ?
WinWaitActive("Open")
HotKeySet("+!q", "ClickFill")
Func ClickFill()
ControlClick("Open", "", "[CLASS:32770]")
ControlSend("Open", "", "[CLASS:32770]", "C:\au3")
Exit
脚本在“打开”后退出。对话框变为活动状我试图让脚本点击类32770 ,这是地址栏,然后将au3目录发送给它,这是我的自动脚本目录。我希望脚本永远保持开放,所以每当我尝试打开一些东西时,它都有效。
第二次尝试
WinWaitActive("Open")
HotKeySet("+!q", "ClickFill")
While(1)
Sleep(1000)
WEnd
Func ClickFill()
ControlClick("Open", "", "[CLASS:32770]")
ControlSend("Open", "", "[CLASS:32770]", "C:\au3")
Exit
脚本保持打开状态,但热键无效。
答案 0 :(得分:3)
看起来您只需要使用“EndFunc”关闭您的功能。这对我有用。
$mustache = new Mustache_Engine(array(
'loader' => new Mustache_Loader_FilesystemLoader($pathToTemplateDir),
));
以下是Notepad ++的一些工作代码
WinWaitActive("Open")
HotKeySet("+!q", "ClickFill")
While(1)
Sleep(1000)
WEnd
Func ClickFill()
MsgBox(262144,"","Look I work!")
ControlClick("Open", "", "[CLASS:32770]")
ControlSend("Open", "", "[CLASS:32770]", "C:\au3")
Exit
EndFunc
在上面的例子中,您将看到我在ToolbarWindow32控件上使用ControlFocus和ControlCommand。大多数对话框窗口都有一个ToolbarWindow32控件。要模拟单击它们,您必须使用带有SendCommandID选项的ControlCommand。您可以在AutoIt信息工具的工具栏选项卡下获取该ID。但是,您将看到一旦单击ToolbarWindow32控件,它就会将焦点放在编辑控件上。如果要更改目录,则需要将编辑控件发送到该编辑控件。使用AutoIt工具查找编辑控件可能有点棘手。您必须确保在选项下未选中“冻结”。
如果您仍然遇到代码问题,我建议您首先确保您可以在没有热键的情况下使代码正常工作。然后用一个字母的热键尝试它,然后最后用你的多个热键组合尝试它。由于无法访问您的计算机,我只是在猜测,但我怀疑您没有正确访问地址栏。您的计算机上可能还有一个正在使用相同热键的程序。