是否可以查询消息过滤器是否已经生效?

问题描述 投票:0回答:1

由于增强的安全性要求,为了在现代Windows版本中使用WM_COPYDATA消息,您需要先调用ChangeWindowMessageFilter()函数以MSGFLT_ADD使其达到过滤器余量。

See MSDN ChangeWindowMessageFilter()

是否有办法查询是否已被允许(不使用SendMessage()或PostMessage()等待并查看是否通过)?

c++ windows winapi
1个回答
1
投票
请使用ChangeWindowMessageFilterEx而不是ChangeWindowMessageFilterEx,因为无论如何都应该弃用它。传递pChangeFilterStruct以包含扩展结果。参见https://docs.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-changefilterstruct

查看ExtStatus是否包含值MSGFLTINFO_ALREADYALLOWED_FORWND

© www.soinside.com 2019 - 2024. All rights reserved.