【问题标题】:AutoHotKey Detect Windows PopupAutoHotKey 检测 Windows 弹出窗口
【发布时间】:2013-12-26 09:58:44
【问题描述】:

我正在尝试在 AHK 中编写一个脚本来检测窗口弹出并捕获消息。

例如:程序 X 将创建一个带有消息的弹出窗口。 AHK 脚本应该能够检测到弹出窗口并在其中获取消息。

这可能吗?

我试过http://www.autohotkey.com/board/topic/23221-run-command-prompt-commands-and-capture-output/的例子,但是太复杂了。

我只需要使用 AHK 脚本捕获弹出消息。

【问题讨论】:

  • 弹出窗口是否总是具有相同的标题和/或类?这将是获取窗口消息所必需的。
  • @ElliotDeNolf ahk_exe 甚至 ahk_pid 也是非常好的标识符。无论如何,消息框通常只能通过使用DetectHiddenWindows, On来检测。

标签: autohotkey


【解决方案1】:

其实这是可以做到的。下面的 AHK 代码将检测标题为“测试”的 Windows 弹出窗口,每次检测到此类弹出窗口时,它都会将一条消息写入文本文件。

Loop
   {
      Sleep 500

      if (WinExist("Test"))
      {
         FileAppend, Another line. , C:\Users\user1\Desktop\testahk.txt
      }
   }

注意:它是循环的,所以它会连续运行。

但我仍在尝试弄清楚如何获取将在弹出窗口中显示的任何消息。

仍在努力。有人对此有想法吗?

【讨论】:

  • 如果消息显示在标准消息框中,则按 Ctrl+c 会将文本复制到剪贴板。
  • 参见autohotkey.com/board/topic/…,它使用 DllCall("RegisterShellHookWindow", UInt,hWnd) 来执行此操作,而无需在计时器/睡眠循环中进行轮询。
猜你喜欢
  • 2010-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-02
  • 1970-01-01
  • 1970-01-01
  • 2013-09-12
相关资源
最近更新 更多