使用 AutoHotKey ControlSend 访问 MDI 工具栏菜单

Posted

技术标签:

【中文标题】使用 AutoHotKey ControlSend 访问 MDI 工具栏菜单【英文标题】:Access the MDI toolbar menu with AutoHotKey ControlSend 【发布时间】:2020-06-08 02:32:13 【问题描述】:

自动化在 RDP 会话上运行的进程,我必须使用 ControlSend,而不是 AutoHotKey 中的发送命令。

WindowSpy 在 MDI 工具栏上找不到任何控件,并且我要访问的菜单项(过滤器..)没有快捷键。如何打开工具栏并选择项目?

我试过了

ControlSend, ahk_parent, alt, ahk_class FNWND3170 ;在树视图中打开项目文件夹

但没有成功。

我考虑过使用 AutoIT,但我认为这不会有帮助,因为 AutoIt 间谍也不会获得控制权。

【问题讨论】:

【参考方案1】:

抱歉,请将 RDP 窗口(甚至全屏)视为不断发展的位图图像。您的 PC 和自动热键不知道图片背后的内容。你能在远程电脑本身运行 ahk 脚本吗?请记住,RDP 客户端完全通过重定向输入等来处理您的鼠标点击和键盘(甚至语音)。所以最好的办法是通过从窗口外运行脚本在适当的位置点击鼠标:

CoordMode, TargetType [, RelativeTo]
Click, 44, 55 ; Clicks the left mouse button once at coordinates 44, 55 (based on CoordMode). 

使用 CoordMode "RelativeTo" 标志设置为 "Relative",以便坐标相对于活动窗口。您可能需要单击两次,一次激活 RDP 窗口,然后单击鼠标位置。

有关信息,请参阅 https://www.autohotkey.com/docs/commands/Click.htm 和 https://www.autohotkey.com/docs/commands/CoordMode.htm。

第,

【讨论】:

我在 RDT 本身上运行脚本,只要我使用 ControlSend 命令并且即使我没有连接到 RDP 会话,它也能很好地工作。普通发送命令和鼠标点击需要 RDP 会话处于活动状态,这不是我需要的。也许 AutoHotKey 不是我在 RDP 上自动化程序过程的最佳选择?有什么提示吗?

以上是关于使用 AutoHotKey ControlSend 访问 MDI 工具栏菜单的主要内容,如果未能解决你的问题,请参考以下文章

我无法通过 Autohotkey 脚本增加音量

autohotkey怎么快速改建?

AutoHotkey 使用笔记

everything + autohotkey的配合使用

如何使用 AutoHotkey 锁定我的计算机?

autohotkey 如何设置多键位和一些组合键