如何在Autohotkey中使用ControlGetText命令?

时间:2015-10-11 18:26:42

标签: autohotkey

我使用MS Excel表格进行测试,但无法正常工作。我的脚本是这样的:

F1::
ControlGetText, OutputVar, Edit1, ahk_class XLMAIN
Return
F2::
Send %OutputVar%
Return

因此,当我按下热键F1时,脚本应该检索编辑框的文本,当我按下热键F2时,它应该发送该文本,但按下这些键时什么都不做。

正如您在此快照中看到的那样:

screenshot

(所有控件ID仅用于测试目的)

1 个答案:

答案 0 :(得分:0)

您正确使用它。

有许多控件不允许您直接检索文本。

这种情况下的问题是Excel停止尊重其WinAPI来源,并且不会将文本存储在控件中。连接到正在运行的Excel应用程序并使用其自动化界面:

F1::address := ComObjActive("Excel.Application").ActiveCell.Address(0,0)
F2::send %address%

对于SysTreeView32控件,您可以尝试low level SendMessage method