我试图使用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
。
我明显做错了什么,但我不确定是什么。有人可以帮忙吗?
答案 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
中),如果它正在运行,如果不是,则返回任何内容。