SendMessageTimeoutA 関数 (winuser.h)
指定したメッセージを 1 つ以上のウィンドウに送信します。
構文
LRESULT SendMessageTimeoutA(
[in] HWND hWnd,
[in] UINT Msg,
[in] WPARAM wParam,
[in] LPARAM lParam,
[in] UINT fuFlags,
[in] UINT uTimeout,
[out, optional] PDWORD_PTR lpdwResult
);
パラメーター
[in] hWnd
型: HWND
ウィンドウ プロシージャがメッセージを受信するウィンドウへのハンドル。
このパラメーターが HWND_BROADCAST ((HWND)0xffff) の場合、メッセージは、無効または非表示の未所有のウィンドウを含む、システム内のすべての最上位ウィンドウに送信されます。 この関数は、各ウィンドウがタイムアウトするまで戻りません。したがって、合計待機時間は、uTimeout 最上位のウィンドウの数を乗算した値までです。
[in] Msg
型: UINT
送信するメッセージ。
システム提供のメッセージの一覧については、「System-Defined メッセージ」を参照してください。
[in] wParam
型: WPARAM
追加のメッセージ固有の情報。
[in] lParam
型: LPARAM
追加のメッセージ固有の情報。
[in] fuFlags
型: UINT
この関数の動作。 このパラメーターには、次の値のうち 1 つ以上を指定できます。
[in] uTimeout
型: UINT
タイムアウト期間の期間 (ミリ秒単位)。 メッセージがブロードキャスト メッセージの場合、各ウィンドウで完全なタイムアウト期間を使用できます。 たとえば、5 秒のタイムアウト期間を指定し、メッセージの処理に失敗する最上位レベルのウィンドウが 3 つある場合、最大で 15 秒の遅延が発生する可能性があります。
[out, optional] lpdwResult
型: PDWORD_PTR
メッセージ処理の結果。 このパラメーターの値は、指定されたメッセージによって異なります。
戻り値
型: LRESULT
関数が成功した場合、戻り値は 0 以外です。 SendMessageTimeout では、HWND_BROADCAST が使用されている場合、個々のウィンドウのタイムアウトに関する情報は提供されません。
関数が失敗した場合、またはタイムアウトした場合、戻り値は 0 になります。
この関数は、失敗した場合に SetLastError
備考
この関数は、指定したウィンドウのウィンドウ プロシージャを呼び出し、指定したウィンドウが別のスレッドに属している場合、ウィンドウ プロシージャがメッセージを処理するか、指定したタイムアウト期間が経過するまで戻りません。 メッセージを受信するウィンドウが現在のスレッドと同じキューに属している場合、ウィンドウ プロシージャが直接呼び出されます。タイムアウト値は無視されます。
この関数は、スレッドが 5 秒以内に GetMessage または同様の関数
システムは、システム メッセージ (0 ~ (WM_USER-1) の範囲のメッセージ) に対してのみマーシャリングを実行します。 他のメッセージ (>= WM_USER) を別のプロセスに送信するには、カスタム マーシャリングを実行する必要があります。
手記
winuser.h ヘッダーは、SendMessageTimeout をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルまたは実行時エラーが発生する不一致につながる可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows 2000 Server [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winuser.h (Windows.h を含む) |
ライブラリ | User32.lib |
DLL | User32.dll |
API セットの | ext-ms-win-ntuser-message-l1-1-0 (Windows 8 で導入) |
関連項目
概念
GetMessage の
InSendMessage を
PostMessage を
リファレンス
SendDlgItemMessage の
SendMessage を
SendMessageCallback の
SendNotifyMessage を