InSendMessageEx function (winuser.h)

Determines whether the current window procedure is processing a message that was sent from another thread (in the same process or a different process).

Syntax

DWORD InSendMessageEx(
  LPVOID lpReserved
);

Parameters

lpReserved

Type: LPVOID

Reserved; must be NULL.

Return value

Type: DWORD

If the message was not sent, the return value is ISMEX_NOSEND (0x00000000). Otherwise, the return value is one or more of the following values.

Return code/value Description
ISMEX_CALLBACK
0x00000004
The message was sent using the SendMessageCallback function. The thread that sent the message is not blocked.
ISMEX_NOTIFY
0x00000002
The message was sent using the SendNotifyMessage function. The thread that sent the message is not blocked.
ISMEX_REPLIED
0x00000008
The window procedure has processed the message. The thread that sent the message is no longer blocked.
ISMEX_SEND
0x00000001
The message was sent using the SendMessage or SendMessageTimeout function. If ISMEX_REPLIED is not set, the thread that sent the message is blocked.

Remarks

To determine if the sender is blocked, use the following test:

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

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header winuser.h (include Windows.h)
Library User32.lib
DLL User32.dll
API set ext-ms-win-ntuser-message-l1-1-0 (introduced in Windows 8)

See also

Conceptual

Messages and Message Queues

Reference

SendMessage

SendMessageCallback

SendMessageTimeout

SendNotifyMessage