次の方法で共有


InSendMessageEx 関数 (winuser.h)

現在のウィンドウ プロシージャが別のスレッド (同じプロセスまたは別のプロセス内) から送信されたメッセージを処理しているかどうかを判断します。

構文

DWORD InSendMessageEx(
  LPVOID lpReserved
);

パラメーター

lpReserved

種類: LPVOID

予約; は NULL である必要があります。

戻り値

型: DWORD

メッセージが送信されなかった場合、戻り値は ISMEX_NOSEND (0x00000000)。 それ以外の場合、戻り値は次の 1 つ以上の値になります。

リターン コード/値 Description
ISMEX_CALLBACK
0x00000004
メッセージは SendMessageCallback 関数を使用して送信されました。 メッセージを送信したスレッドはブロックされません。
ISMEX_NOTIFY
0x00000002
メッセージは SendNotifyMessage 関数を使用して送信されました。 メッセージを送信したスレッドはブロックされません。
ISMEX_REPLIED
0x00000008
ウィンドウ プロシージャがメッセージを処理しました。 メッセージを送信したスレッドはブロックされなくなりました。
ISMEX_SEND
0x00000001
メッセージは、SendMessage 関数または SendMessageTimeout 関数を使用して送信されました。 ISMEX_REPLIEDが設定されていない場合、メッセージを送信したスレッドはブロックされます。

解説

送信者がブロックされているかどうかを確認するには、次のテストを使用します。

fBlocked = ( InSendMessageEx(NULL) & (ISMEX_REPLIED|ISMEX_SEND) ) == ISMEX_SEND;

要件

   
サポートされている最小のクライアント 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 で導入)

関連項目

概念

メッセージとメッセージ キュー

リファレンス

SendMessage

SendMessageCallback

SendMessageTimeout

SendNotifyMessage