代码之家  ›  专栏  ›  技术社区  ›  Andrew G

最小化窗口上的WIndows GUI自动化

  •  4
  • Andrew G  · 技术社区  · 15 年前

    作为免责声明,我完全不熟悉Win32开发。我想知道,如果一个GUI应用程序被最小化,是否有任何方法可以自动控制对它的输入。我所看到的大多数自动化工具都特别使用窗口的坐标偏移(tlx,tly)。我不需要一个测试框架,我只想让我自己的应用程序对最小化(不同封闭源代码)的应用程序执行一些操作。我说得越多,可能性就越小。任何关于如何实现这一点的意见都是值得赞赏的。

    3 回复  |  直到 15 年前
        1
  •  4
  •   Andrey    15 年前

    好吧,了解默认最小化行为的最简单方法是玩一些简单的东西,例如。 Calculator . 开始使用它 Microsoft Spy++ 查看表示计算器窗口中某个按钮的窗口的属性。

    在我看来:

    • 处于最小化状态:矩形(-31911,-31839)-(-31877,-31812),34x27

    所以在默认情况下,最小化通过将窗口移动到远处来更改窗口位置。如果你能保留HWND,那么你仍然可以发送你需要的任何窗口消息。

    • 应用程序可以在最小化的情况下自定义其行为,例如完全破坏窗口-切换到托盘。
    • 即使您成功地将必要的消息发送到所需的控件-应用程序的逻辑可能是一个障碍-例如,它可能取决于IsWindowVisible的结果,它可能假设窗口矩形坐标始终为正等等。
        2
  •  0
  •   Necrolis    15 年前

    你也许可以这样做 PostMessage SendMessage

        3
  •  0
  •   Community Mohan Dere    9 年前

    这类事情有一个Python解决方案- pywinauto

    例子: Python - Control window with pywinauto while the window is minimized or hidden

    虽然WinForms部分受支持,但一些简单的操作,如无提示单击( Click