【发布时间】:2014-11-06 01:40:24
【问题描述】:
我在 Windows 7 上的 AutoIT 的 ControlSend 功能遇到了一个奇怪的问题,所以我希望有人能提供帮助。
我编写了 FUSE 文件系统,它通过 Samba 与 Windows 共享。我正在尝试使用 AutoIT 对 Windows 上的文件系统进行自动化测试,以使用各种不同的应用程序在文件系统上写入和修改文件。
当我第一次开始测试时,我使用“发送”方法发送击键,但我发现其他应用程序偶尔会窃取焦点,我的测试会变得一团糟。我希望即使焦点被盗,使用 ControlSend 也能让我的测试继续进行。我遇到的问题是有时修饰键(如 Shift 和 Control)没有按应有的方式发送。
例如,如果我使用
ControlSend("Open", "", "Edit1", "Z:\test.txt")
要在打开的对话框中设置路径,我偶尔会看到文本显示为“z;|test.txt”,显然已经将 shift 键反转了几个字符。
在另一种情况下,如果我发送
ControlSend($hWnd, "", "Edit1", "^o")
要将“Ctrl+o”发送到记事本窗口,我偶尔会发现 AutoIT 并没有打开“打开”对话框,而是直接在记事本文本字段中键入字母“o”。
我需要能够设置这些脚本并让它们在不受监控的情况下持续运行,因此让它偶尔键入明显不是它应该发送的字符使其成为一个不可行的解决方案。
我可以做些什么来使发送带有正确修饰符的正确字符更加一致?
【问题讨论】:
-
有点晚了,但我遇到了同样的问题,终于找到了解决方案。我在这里写了:stackoverflow.com/questions/42588904/…
标签: autoit