AFX / MFC拦截ALL命令消息

时间:2014-04-21 22:39:51

标签: mfc mfc-feature-pack

我尝试使用CMFCCmdUsageCounter来跟踪程序中的命令用法。这个类要求我调用AddCmd(ID_COMMAND);每次处理/发送ID_COMMAND时。

由于我的程序有数千个ID_COMMAND,这些ID_COMMAND是在数百万行代码中处理的......这似乎不可行。

我希望有一些简单的方法来拦截我程序中发送的所有命令。是否有可能覆盖SendMessage()/ PostMessage()函数?(甚至不确定这会得到所有命令)也许有一些MFC函数通过我的虚函数传递每个命令,然后像往常一样传递它。

对不起,我对MFC / AFX消息的理解有限。我们欢迎任何试图跟踪ID_COMMAND使用的帮助。

1 个答案:

答案 0 :(得分:1)

看看SetWidowsHookEx。特别是,我将从WH_GETMESSAGE类型的钩子开始。钩子的组合可以为您提供所需的一切。