Windows フックを正しくセットアップできますが、MSDN の次の行に混乱します。フック通知を受信できず、結果として正しく動作しない可能性があります。他のアプリケーションが通知を表示できないようにする必要が絶対にない限り、CallNextHookEx を呼び出す必要があります。".
私は良いプログラミング市民になりたいと思っており、次のフックを呼び出します。しかし、私のフック手順は次のようになります。
LRESULT CALLBACK CBTProc(int code, WPARAM wp, LPARAM lp)
{
if (code != HCBT_CREATEWND)
{
// What do I do here? It's not the event I requested so how do I pass it on?
return 0;
}
// It's the code we want (create window)
CallNextHookEx(...);
...
}
では、コードが私が興味を持っているものではない場合、フック プロシージャはどうなるでしょうか。次のフックを呼び出すにはどうすればよいですか?
編集:主な問題は、HHOOK が SetWindowsHookEx から返され、それを CallNextHookEx 関数に渡す必要があることです。
更新: NT プラットフォームではフック パラメータが無視されるようです:
http://msdn.microsoft.com/en-us/library/ms644974.aspx
http://www.klenotic.com/pl/null_hhook/