0

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

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

根据 ffdshow ,窗口句柄是32786,根据AutoHotKey 文档,我想使用PostMessage然后检查ErrorLevel.

然而,在那一点上,我正在努力理解文档。我有以下内容:

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

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

我也尝试过更改PostMessage为阻止SendMessage,但总是报告FAIL

我显然做错了什么,但我不确定是什么。任何人都可以帮忙吗?

4

1 回答 1

0

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

在深入研究此处找到的示例代码后,发现有一个名为 ffdshow 的窗口类ffdshow_remote_class

结果,以下代码:

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

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

于 2014-11-13T14:36:27.843 回答