最終更新:2015-03-31 (火) 15:47:10 (3312d)  

SendMessage
Top / SendMessage

http://msdn.microsoft.com/ja-jp/library/cc411022.aspx

LRESULT SendMessage(
  HWND hWnd,      // 送信先ウィンドウのハンドル
  UINT Msg,       // メッセージ
  WPARAM wParam,  // メッセージの最初のパラメータ
  LPARAM lParam   // メッセージの 2 番目のパラメータ
);

パラメータ

hWnd

1 つのウィンドウのハンドルを指定します。このウィンドウのウィンドウプロシージャがメッセージを受信します。HWND_BROADCAST を指定すると、この関数は、システム内のすべてのトップレベルウィンドウ(親を持たないウィンドウ)へメッセージを送信します。無効になっている所有されていないウィンドウ、不可視の所有されていないウィンドウ、オーバーラップされた(手前にほかのウィンドウがあって覆い隠されている)ウィンドウ、ポップアップウィンドウも送信先になります。子ウィンドウへはメッセージを送信しません。

Msg

送信するべきメッセージを指定します。

wParam

メッセージ特有の追加情報を指定します。

lParam

  • メッセージ特有の追加情報を指定します。

メモ

  • SendMessage
    • メッセージを転送先のウインドウのウインドウプロシージャに直接送信
    • 転送先のウインドウプロシージャがメッセージを処理し終えるまでは呼び出し元の処理はブロック
  • PostMessage
    • メッセージを転送先のウインドウのメッセージキューの末尾に送信
    • 処理は非同期処理で、メッセージを送信した直後から処理を継続することができます。