【发布时间】:2023-03-18 19:19:02
【问题描述】:
我需要隐藏一个 Windows 程序(在任务栏、系统托盘中不可见。在 taskmgr 中可见)。 并在此 Windows 程序上发送点击和填写表格(隐藏时)。
可以使用 autoit 或 autohotkey 吗?还有其他建议吗?
【问题讨论】:
标签: windows autohotkey autoit
我需要隐藏一个 Windows 程序(在任务栏、系统托盘中不可见。在 taskmgr 中可见)。 并在此 Windows 程序上发送点击和填写表格(隐藏时)。
可以使用 autoit 或 autohotkey 吗?还有其他建议吗?
【问题讨论】:
标签: windows autohotkey autoit
您可以像 MadBoy 显示的那样隐藏窗口,然后使用 AutoIt 的“ControlCommand”-Function 填充/调整控件,如下所示:
WinSetState("Screen Resolution", "", @SW_HIDE)
ControlCommand("Screen Resolution", "", "ComboBox1", "SetCurrentSelection", "2")
WinSetState("Screen Resolution", "", @SW_SHOW)
要检测控件具有哪个类名,您必须使用 AutoIt 附带的 AutoIt 窗口信息工具,该工具默认安装。
以填写文本框为例,您可以使用:
ControlCommand("WinTitleHere", "", "Edit1", "EditPaste", "This is some text")
这甚至适用于隐藏的窗口。
【讨论】:
要隐藏您需要使用的应用程序(AutoIt v3):
WinSetState($application_name, "", @SW_HIDE)
WinSetState($application_name, "", @SW_SHOW)
其中 $application_name 是您的应用程序名称。第一个是隐藏,第二个是显示。
我不确定您是否可以在隐藏表格时填写表格,但我想您可以自己验证。可能您必须使用ControlSend 直接将文本发送到控件。
【讨论】: