3

ターゲット アプリケーションにフックするアプリケーションを作成しており、ユーザーがアクティブ化すると、キーボードとマウスのすべてのウィンドウ メッセージがターゲット アプリケーションのウィンドウ プロシージャに到達しないようにします。私のアプリケーションは、 、 などの着信入力メッセージを に変換するWM_MOUSEMOVEことWM_NULLでこれを行い、ウィンドウ プロシージャが入力が発生したことを認識しないようにします。

問題は、マウス入力が発生したときに Windows が自動的にWM_SETCURSORandWM_NCHITTESTを window proc に送信することです (たとえば、アプリケーションが を呼び出したとき)。PeekMessageこれらのメッセージはウィンドウのメッセージ キューにポストされないため、WM_NULL に変更できません。

私は当初、window proc をサブクラス化し、単純WM_SETCURSORWM_NCHITTESTそこを無視することでこれを回避しましたが、サブクラス化は、私が夢中になっている一部のアプリケーションとの互換性の問題があるようです。

私の質問は次のとおりです。最初に生成されないようWM_SETCURSORにするにはどうすればよいですか、またはアプリケーションのウィンドウ プロシージャに到達しないようにするにはどうすればよいですか。WM_NCHITTEST

4

1 に答える 1