我有一个包含文本框的窗口。如何通过单击鼠标并在文本框中输入文本来输入文本?
答案 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,它会在您向其发送击键时保持某个窗口处于活动状态。