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%

実行中の場合は ffdshow ( に格納されている) の hWnd 値を返し、activeidそうでない場合は何も返しません。

于 2014-11-13T14:36:27.843 に答える