如何使用AutoHotKey向窗口句柄发送消息?

时间:2014-11-12 15:15:21

标签: autohotkey window-handles

我试图使用AutoHotKey检测ffdshow当前是否正在计算机上运行。

有人建议我可以通过向ffdshow窗口句柄发送消息来实现此目的。如果成功,则ffdshow正在运行。

根据ffdshow,窗口句柄为32786,根据AutoHotKey documentation,我想使用PostMessage然后检查ErrorLevel

然而在那时,我很难理解文档。我得到了以下内容:

ControlHwnd := 32786
VarContainingID := 32786
PostMessage, 0x00, , , ,ahk_id %ControlHwnd%, ahk_id %VarContainingID%
MsgBox %ErrorLevel%

但总是报告1表示它无法连接到窗口句柄 - 即使ffdshow正在运行。

我还尝试将PostMessage更改为阻止SendMessage,但始终报告FAIL

我明显做错了什么,但我不确定是什么。有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

感谢blackholyman和MCL,我找到了问题。

在找到here的示例代码中挖掘后,发现有一个名为ffdshow_remote_class的ffdshow窗口类。

结果,以下代码:

DetectHiddenWindows, On
WinGet, activeid, ID, ahk_class ffdshow_remote_class
MsgBox activeid = %activeid%

将返回ffdshow的hWnd值(存储在activeid中),如果它正在运行,如果不是,则返回任何内容。