【问题标题】:AutoHotKey : Get mdi windowAutoHotKey : 获取 mdi 窗口
【发布时间】:2013-04-23 20:51:53
【问题描述】:

在 MDI 应用程序中自动执行流程时,我尝试使用 AutoHotKey。

在给定时间,MDI 应用程序中会弹出一个新的 mdi 子窗口,我想“等待”我的自动热键脚本,直到它被打开。

所以我正在寻找一个检查控件(mdi child)是否存在的循环。

使用 ControlGet,我似乎无法获取 mdi 子项。

这是我想知道是否存在的孩子。

自动间谍:

(现在在鼠标光标下)

类NN:FNWND31101
文本:词组提取

也许我没有使用正确的 AutoHotKey 函数来找到它?

脚本

WinWait, FNWND31101,, 10
if ErrorLevel
{
  MsgBox, WinWait timed out.
  return
} else 
{
  MsgBox, Found control  
}

【问题讨论】:

    标签: autohotkey


    【解决方案1】:

    尝试像这样使用 winwait:

    winwait, FNWND3110
    

    窗口ID:FNWND3110,鼠标下对象ID:FNWND31101

    看看这些网址:

    http://www.autohotkey.com/board/topic/85114-detecting-new-child-window/

    http://www.autohotkey.com/board/topic/8398-how-to-winwait-a-mdi-child-window/

    MouseGetPos 的最后一个参数: http://www.autohotkey.com/docs/commands/MouseGetPos.htm

    要不然在AHK论坛提问:http://www.autohotkey.com/board/

    【讨论】:

    • 用脚本更新了我原来的帖子。它没有找到 mdi 孩子。使用 MacroRecorder 当我单击 mdi 子项时,我看不到任何 WinActivate。
    • 刚刚编辑了我的答案。 WinWait 应该等到 FNWND3110 打开,然后继续执行脚本。如果要控制特定对象,请使用较长的代码(这很不寻常,通常将对象命名为 button1 或 edit1)
    • FNWND3110其实是MDI容器,是打开的。 mdi child 是鼠标下的对象。我添加了一张显示它的新图片。
    猜你喜欢
    • 2012-10-29
    • 2018-05-14
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    • 2012-02-25
    • 1970-01-01
    相关资源
    最近更新 更多