CHANGEFILTERSTRUCT 结构 (winuser.h)
包含通过调用 ChangeWindowMessageFilterEx 函数获取的扩展结果信息。
语法
typedef struct tagCHANGEFILTERSTRUCT {
DWORD cbSize;
DWORD ExtStatus;
} CHANGEFILTERSTRUCT, *PCHANGEFILTERSTRUCT;
成员
cbSize
类型:DWORD
结构大小(以字节为单位)。
必须设置为 sizeof(CHANGEFILTERSTRUCT)
,否则函数将失败并 ERROR_INVALID_PARAMETER。
ExtStatus
类型:DWORD
如果函数成功,则此字段包含以下值之一。
注解
无论筛选器设置如何,值小于 WM_USER 的某些消息都需要通过筛选器。 尝试使用此函数允许或阻止此类消息时,将不起作用。
应用程序可以使用 ChangeWindowMessageFilter 函数以进程范围的方式允许或阻止消息。 如果进程消息筛选器或窗口消息筛选器允许该消息,则会将其传递到窗口。
下表列出了 ExtStatus 中返回的可能值。
已在较高范围内允许的消息 | 窗口的消息筛选器已允许邮件 | 请求的操作 | 成功时在 ExtStatus 中返回的指示器 |
---|---|---|---|
否 | 否 | MSGFLT_ALLOW | MSGFLTINFO_NONE |
否 | 否 | MSGFLT_DISALLOW | MSGFLTINFO_ALREADYDISALLOWED_FORWND |
否 | 否 | MSGFLT_RESET | MSGFLTINFO_NONE |
否 | 是 | MSGFLT_ALLOW | MSGFLTINFO_ALREADYALLOWED_FORWND |
否 | 是 | MSGFLT_DISALLOW | MSGFLTINFO_NONE |
否 | 是 | MSGFLT_RESET | MSGFLTINFO_NONE |
是 | 否 | MSGFLT_ALLOW | MSGFLTINFO_NONE |
是 | 否 | MSGFLT_DISALLOW | MSGFLTINFO_ALLOWED_HIGHER |
是 | 否 | MSGFLT_RESET | MSGFLTINFO_NONE |
是 | 是 | MSGFLT_ALLOW | MSGFLTINFO_ALREADYALLOWED_FORWND |
是 | 是 | MSGFLT_DISALLOW | MSGFLTINFO_ALLOWED_HIGHER |
是 | 是 | MSGFLT_RESET | MSGFLTINFO_NONE |
要求
最低受支持的客户端 | Windows 7 [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 R2 [仅限桌面应用] |
标头 | winuser.h (包括 Windows.h) |