【问题标题】:Menu and submenu selection on specific app via Autohotkey通过 Autohotkey 在特定应用程序上选择菜单和子菜单
【发布时间】:2019-11-29 00:47:24
【问题描述】:

我有一个字典应用程序,其中 Ctrl+C 不起作用,所以复制的唯一方法是从菜单中选择 Edit > Copy。我曾尝试使用以下代码及其变体,但没有成功。

!l::
WinActivate, MAGENTA - Dictionaries Explorer II
WinMenuSelectItem, ahk_class TMainForm,, Edit, Copy
return

WinSpy 数据:

MAGENTA - Dictionaries Explorer II
ahk_class TMainForm
ahk_exe MgDE2.EXE
ahk_pid 2580

【问题讨论】:

  • 也许你必须使用SendMessage,检查PostMessage / SendMessage Tutorial
  • 我不明白在该教程中获取值的说明,即“拖动十字准线...”我在 WinSpy 中看不到任何十字准线。
  • 加速键是否有效,例如 Alt+E 进入菜单项?如果是,您可以在脚本中使用它们。您也可以使用自动鼠标点击来执行此操作。
  • 没有加速键。鼠标点击事件是我已经使用的(由于应用程序 UI 和系统分辨率可能存在差异,这不是一个适用于所有用户的选项)。
  • “菜单栏”左侧的“夹子”表明它并不是真正的菜单栏,而是类似于 Rebar 控件的东西。您不能对此使用 WinMenuSelectItem。 SendMessage 是您最好的选择;根据@Yane 提到的教程,您只需要找到正确的 ID。

标签: autohotkey


【解决方案1】:

暂时忘记 AHK,如果您只是按下并释放 Alt 键(全部单独)会发生什么?

如果文件菜单激活(蓝色框),那么您只需发送 ALT 键击,然后根据需要进行定向移动,最后发送 ENTER 以激活该项目

像这样

SendInput {Alt}{Right}{Down}{Enter}

如果您需要向右移动 4 个元素,然后向下移动 2 个条目,您可以使用这种方式:

SendInput {Alt}{Right 4}{Down 2}{Enter}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-12
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 2020-02-27
    相关资源
    最近更新 更多