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
消息是使用 SendMessageSendMessageTimeout 函数发送的 。 如果未设置 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 集 在 Windows 8) 中引入的 ext-ms-win-ntuser-message-l1-1-0 (

请参阅

概念性

消息和消息队列

引用

SendMessage

SendMessageCallback

SendMessageTimeout

SendNotifyMessage