我有这个AutoHotkey脚本有一个奇怪的问题。它在3个工作站中使用,但在一个中,ControlSend似乎不起作用,因为热键在程序A中不起作用。所有三台机器都有Windows XP,并且是奔腾4级机器,大多数都是相同的软件,脚本在exe形式。我已经尝试了很多不同的方法将热键发送到程序A,但似乎没有任何工作。
脚本的想法只是捕获热键并在其正常功能之外单击另一个窗口。正常功能不起作用。
任何想法可能是问题的根源以及我应该在哪里寻找它?
#IfWinActive, Program A
^H::
IfWinActive, Program A
{
ControlFocus, MDIClient1, Program A, , ,
ControlSend, , ^H, Program A, , ,
ControlClick, X46 Y135, Program B, , LEFT , 1
return
}
答案 0 :(得分:1)
一种可能性 - 您指定X和Y坐标,这些坐标可以非常相对。大字体与小字体,屏幕分辨率等都可能导致问题。
该指令适用于程序B,所以我不确定那是你的问题。您可以尝试分解脚本的一部分并将它们分配给不同的热键,然后一次尝试一个。
编辑:我也会以非exe形式(只是一个基本的.ahk脚本)尝试它,看看是否有所作为。
答案 1 :(得分:1)
其他尝试:
^h
代替^H
(大写)~^H
,它传递原始热键(这可能很难,因为你在那之后做了一些点击 - 不确定脚本的用途)