如何使用AutoIt输入没有控件ID的文本?

时间:2012-07-27 05:52:31

标签: autoit

我有一个包含文本框的窗口。如何通过单击鼠标并在文本框中输入文本来输入文本?

2 个答案:

答案 0 :(得分:2)

您可以通过Send("{Tab}")Send("{Tab 5}")通过输入框“循环”5次按Tabulator键。然后你可以使用普通的Send("input text")内容来插入你想要的任何东西。你也可以使用ClipPut("content")用一些东西填充剪贴板,然后只使用Send("^v")(“^”等于“{Ctrl}”,见Send Key List)来插入你的任何内容放在那里 - 并选择在ClipGet()之前保存剪贴板内容,然后再恢复它。在通常WinActivate("Window Title")将窗口设置为活动之前,您需要将关键笔划发送到。祝你好运!

最后,但并非最不重要......如果你的输入元素的位置是固定的,你可以在激活它们之前点击它,看Opt("MouseCoordMode", 0)窗口相对坐标定位然后使用像{ {3}}

答案 1 :(得分:1)

控件ID不是解决控件的唯一方法。您也可以使用控件类和实例。例如

ControlSetText("Untitled - Notepad", "", "[CLASS:Edit; INSTANCE:1]", "hello world!")

您可以使用AutoIt附带的AutoIt窗口信息工具获取类/实例详细信息。

这比发送更安全。但有时使用Send是不可避免的。您还可以使用SendKeepActive,它会在您向其发送击键时保持某个窗口处于活动状态。

相关问题