2012-02-26 8 views
-1

サードパーティのDLLが読み込まれているときに、アプリケーションのフローを停止するMessageBoxウィンドウが開かれることがあります。サードパーティ製のDLLで作成されたメッセージボックスを検出する

SetWindowsHookExWH_CBTを使用しようとしていますが、コールバックが呼び出されません。

私はこの方法でそれを呼び出してみました:

SetWindowsHookEx (WH_CBT, myCallback, NULL, 0); 

しかし、それは働いていませんでした。

この機能を正しく呼び出すにはどうすればよいですか?

+2

あなたは関数にNULLと0渡すことにより、フックを注入するつもりはありません。エラー処理を改善し、API関数の戻り値を無視しないでください。 –

+0

私はSetWindowsHookEx(WH_CBT、myCallback、GetModuleHandle(0)、GetCurrentThreadId())を試みましたが、役に立たなかった。 – kambi

+2

あなたは無作為に試しています。 WH_CBTのようなグローバルフックには、他のプロセスに注入できるDLLが必要です。それは決してGetModuleHandle(0)にはなりません、あなたは自分のEXEを注入することはできません。 Googleヒットをご覧ください。これはよくカバーされています。 –

答えて

関連する問題