2011-11-14 6 views
1

私はゲーム用のAPIを使用しています。それは私のためのウィンドウを作成しますが、何かしたいメッセージがいくつかあります。たとえば、画面のサイズが変更されているときに、黒い画面を表示したいとします。基本的に私はメインウィンドウのHWNDを持っており、メッセージを聞いて、処理前または処理後にカスタムWndProcを使いたいと思っています。ウィンドウがいつWM_SIZEなどのメッセージを受け取るかを知りたいだけです。あなたはHWNDしか持っていないウィンドウからメッセージを受け取りますか?

このためのAPIはありますか?

おかげ

+0

としてのフックを使用して方法を見つける必要がある(http://msdn.microsoft.com /en-us/library/windows/desktop/ms644990(v=vs.85).aspx) –

答えて

6

あなたがWM_SIZEを傍受するウィンドウと同じプロセスである場合、あなたは、単にGWLP_WNDPROCSetWindowLongPtrでWndProcメソッドを置き換えることができます。他のメッセージを元のWndProcに渡す必要があることに注意してください。

しかし、あなたが別のプロセスにある場合、あなたはこれは[ `SetWindowsHookEx`]のための仕事であるかもしれない、そのようなSetWindowsHookEx

+1

+1;サブクラス化はおそらくここに行く方法です。 FYI - SetWindowLongはWNDPROCと他のポインタサイズの値では非推奨です。 Win32とWin64の両方との互換性のためにSetWindowLongPtrを使用してください - これを反映するために答えを編集しました。 – BrendanMcK

+0

BTW:MSDNリンクはSetWindowLongPtrの代わりにSetWindowLongをまだポイントしています – dwo

関連する問題