SendNotifyMessage |
Declare Function Api_SendNotifyMessage& Lib "user32" Alias "SendNotifyMessageA" (ByVal hWnd&, ByVal msg&, ByVal wParam&, lParam As Any) |
Declare Function SendNotifyMessage Lib "user32" Alias "SendNotifyMessageA" (ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Any) As Long |
|
指定されたメッセージを 1 つまたは複数のウィンドウへ送信する。指定されたウィンドウが、呼び出し側スレッドが作成したものであった場合、この関数はそのウィンドウのウィンドウプロシージャを直接呼び出し、そのウィンドウプロシージャがメッセージの処理を終えるまで制御を返さない。指定されたウィンドウが、ほかのスレッドが作成したものであった場合、この関数はそのウィンドウのウィンドウプロシージャへメッセージを渡し、即座に制御を返す。そして、そのウィンドウプロシージャがメッセージの処理を終えるのを待たない。 |
|
パラメータ HWND_BROADCAST を指定すると、この関数は、システム内のすべてのトップレベルウィンドウ(親を持たないウィンドウ)へメッセージを 送信する。無効になっている所有されていないウィンドウ、不可視の所有されていないウィンドウ、オーバーラップされた(手前にほかのウィ
ンドウがあって覆い隠されている)ウィンドウ、ポップアップウィンドウも送信先になる。子ウィンドウへはメッセージを送信しない。
戻り値 ジ(メッセージの値が 0x8000 未満)を送信する場合は、メッセージのパラメータでポインタを使うことはできない。もしポインタを使っている場 合、その操作は失敗する。SendNotifyMessage 関数は、受信側スレッドがそのメッセージを処理する前に制御を返す。そのため、受信側
スレッドがメッセージの処理を開始する前に、送信側スレッドはポインタが指すメモリを解放してしまう。 る目的では、RegisterWindowMessage 関数を呼び出すべきである。 |