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)0xffff ) HWND_BROADCASTの場合、メッセージは、無効または非表示の未所有ウィンドウを含む、システム内のすべての最上位ウィンドウに送信されます。 関数は、各ウィンドウがタイムアウトするまで戻りません。したがって、合計待機時間は、 uTimeout の値に最上位ウィンドウの数を掛けた値までです。
[in] Msg
型: UINT
送信されるメッセージ。
システム提供のメッセージの一覧については、「 システム定義メッセージ」を参照してください。
[in] wParam
型: WPARAM
追加のメッセージ固有の情報。
[in] lParam
型: LPARAM
追加のメッセージ固有の情報。
[in] fuFlags
型: UINT
この関数の動作。 このパラメーターには、次の 1 つ以上の値を指定できます。
[in] uTimeout
型: UINT
タイムアウト期間の期間 (ミリ秒単位)。 メッセージがブロードキャスト メッセージの場合、各ウィンドウで完全なタイムアウト期間を使用できます。 たとえば、5 秒のタイムアウト期間を指定し、メッセージの処理に失敗する最上位のウィンドウが 3 つある場合、最大で 15 秒の遅延が発生する可能性があります。
[out, optional] lpdwResult
種類: PDWORD_PTR
メッセージ処理の結果。 このパラメーターの値は、指定されたメッセージによって異なります。
戻り値
型: LRESULT
関数が成功すると、戻り値は 0 以外になります。 HWND_BROADCASTが使用されている場合、SendMessageTimeout は個々のウィンドウのタイムアウトに関する情報を提供しません。
関数が失敗した場合、またはタイムアウトした場合、戻り値は 0 です。 詳細なエラー情報を得るには、GetLastError を呼び出します。 GetLastError からERROR_TIMEOUTが返された場合、関数はタイムアウトになります。
Windows 2000: GetLastError が 0 を返す場合、関数はタイムアウトしました。
解説
この関数は、指定したウィンドウのウィンドウ プロシージャを呼び出し、指定したウィンドウが別のスレッドに属している場合、ウィンドウ プロシージャがメッセージを処理するか、指定したタイムアウト期間が経過するまで戻りません。 メッセージを受信するウィンドウが現在のスレッドと同じキューに属している場合、ウィンドウ プロシージャが直接呼び出されます。タイムアウト値は無視されます。
この関数は、 スレッドが GetMessage または同様の関数を 5 秒以内に呼び出していない場合、応答していないと見なします。
システムは、システム メッセージ (0 ~ (WM_USER-1) の範囲) に対してのみマーシャリングを実行します。 他のメッセージ (これらの >= WM_USER) を別のプロセスに送信するには、カスタム マーシャリングを実行する必要があります。
注意
winuser.h ヘッダーは、SendMessageTimeout をエイリアスとして定義し、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
API セット | ext-ms-win-ntuser-message-l1-1-0 (Windows 8 で導入) |
関連項目
概念
リファレンス
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示