AFX/MFC 拦截所有命令消息
Posted
技术标签:
【中文标题】AFX/MFC 拦截所有命令消息【英文标题】:AFX/MFC Intercept ALL command messages 【发布时间】:2014-04-21 22:39:51 【问题描述】:我正在尝试使用 CMFCCmdUsageCounter 来跟踪我的程序中的命令使用情况。这个类需要我调用 AddCmd(ID_COMMAND);每次处理/发送 ID_COMMAND。
由于我的程序有数千个 ID_COMMAND,它们在数百万行代码中处理...这似乎不可行。
我希望有一些简单的方法可以拦截在我的程序中发送的所有命令。是否可以覆盖 SendMessage()/PostMessage() 函数?(甚至不确定这会获取所有命令)也许有一些 MFC 函数通过我的虚拟函数传递每个命令,然后像往常一样传递它。
很抱歉,我对 MFC/AFX 消息的理解有限。欢迎在尝试跟踪 ID_COMMAND 使用方面提供任何帮助。
【问题讨论】:
【参考方案1】:看看SetWidowsHookEx。特别是,我将从 WH_GETMESSAGE 类型的钩子开始。钩子的组合可能会满足您的需求。
【讨论】:
以上是关于AFX/MFC 拦截所有命令消息的主要内容,如果未能解决你的问题,请参考以下文章