1

当焦点集中在 Java 应用程序上时,AutoIt 似乎停止工作。

对于此代码:

MouseMove(61, 121, 10);
WinActivate("Main @ paperMoney [build 1800.20]");
MsgBox(0, "got it", "got it");

结果是 --> 鼠标移动,java 应用程序获得焦点并出现消息

对于此代码:

WinActivate("Main @ paperMoney [build 1800.20]");
MouseMove(61, 121, 10);
MsgBox(0, "got it", "got it");

结果是 --> java 应用程序获得焦点,鼠标不移动并且出现消息。

java应用程序获得焦点后,我可以做些什么来使鼠标和键盘命令工作?

4

3 回答 3

3

考虑到 paperMoney 所做的事情,它可能是故意抵制自动化的。特别是当窗口被激活时,它会钩入低级鼠标事件并检查所有硬件鼠标移动与实际移动。使用它可以防止任何模拟鼠标移动。您可以使用发送在窗口中键入键吗?

于 2011-03-14T08:27:23.163 回答
0

我也想做同样的事情。Mandanar 可能是对的。我也尝试了 Autohotkey,但没有成功。也许 TOS 在他们的应用程序中禁止它。:( 嘘!

编辑:
我发现 Mac OSX 上的 TOS 可以通过Keyboard Maestro的脚本来控制。这是一个丑陋的黑客解决方案,但它有效。如果您知道元素的 X、Y 位置,则可以编辑文本框并单击内容。

Keyboard Maestro 可以通过脚本(AppleScript、Python 等)运行,所以也许你可以构建一些精心制作的 rube goldberg。

交易愉快!

于 2011-03-21T02:21:29.593 回答
0

我的解决方案已针对 AutoHotkey 进行了测试,但我相信这也适用于 AutoIt。我以管理员权限运行脚本,因为 TOS 以管理员身份运行,之后我的脚本运行良好。

于 2012-10-02T15:04:33.397 回答