Поделиться через


Функция InSendMessageEx (winuser.h)

Определяет, обрабатывает ли текущая процедура окно сообщение, отправленное из другого потока (в том же или другом процессе).

Синтаксис

DWORD InSendMessageEx(
  LPVOID lpReserved
);

Параметры

lpReserved

Тип: LPVOID

Защищены; значение должно иметь значение NULL.

Возвращаемое значение

Тип: DWORD

Если сообщение не было отправлено, возвращается значение ISMEX_NOSEND (0x00000000). В противном случае возвращается одно или несколько из следующих значений.

Возвращаемый код или значение Описание
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
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-message-l1-1-0 (появилось в Windows 8)

См. также раздел

Основные понятия

Сообщения и очереди сообщений

Справочные материалы

SendMessage

SendMessageCallback

SendMessageTimeout

SendNotifyMessage