C++ 我们可以在MFC中钩住函数调用吗?

C++ 我们可以在MFC中钩住函数调用吗?,c++,mfc,C++,Mfc,我使用的是一个非常旧的MFC应用程序和许多GUI回调,定义如下,这些回调分布在100个不同视图/文档的cpp文件中 ON_COMMAND(ID_FILE_OP1, OnFileOp1) ON_UPDATE_COMMAND_UI(ID_FILE_OP1, OnUpdateFileOp1) ON_COMMAND(ID_FILE_OP2, OnFileOp2) ON_UPDATE_COMMAND_UI(ID_FILE_OP2, OnUpdateFileOp2) 一个新的需求要求我在每次ON_U

我使用的是一个非常旧的MFC应用程序和许多GUI回调,定义如下,这些回调分布在100个不同视图/文档的cpp文件中

ON_COMMAND(ID_FILE_OP1, OnFileOp1)

ON_UPDATE_COMMAND_UI(ID_FILE_OP1, OnUpdateFileOp1)

ON_COMMAND(ID_FILE_OP2, OnFileOp2)

ON_UPDATE_COMMAND_UI(ID_FILE_OP2, OnUpdateFileOp2)
一个新的需求要求我在每次ON_UPDATE_命令、UI定义的回调函数调用之后和之前调用函数,以及ON_命令

我正在尝试创建一个define,以便将更改本地化,并作为回调begin-end的挂钩机制

我肯定可以在每次函数调用之后和之前调用我的公共函数,但我不认为这是一种干净的方法

这方面的标准或好方法是什么

我希望从外部清晰地连接到ON_命令和ON_更新_命令的UI回调函数


我使用的是Windows Visual Studio 2015 x64。

您可以通过调用SetWindowsHookEx函数来安装钩子过程。。。要检索DLL模块的句柄,请使用。。。SpMSG,C++;如果失败的结果{//todo:Wrrror……/P>< p>您可以通过调用StWistWOSKOOKEX函数来安装钩子子程……检索DLL模块的句柄,用……WPARAM、SZMSG、C++调用LoadLibrary函数;如果失败,则调用{//TODO:writer error…

我怎样才能挂接到宏的ON_命令。你能举个例子吗PleaseTwinDowshookex不允许你挂接函数调用。LoadLibrary不返回HRESULT。如果失败,它将返回NULL,正好是分配给S_OK的相同值。建议的错误检查不仅没有用,而且是一个错误活动有害。我如何才能挂接到宏的ON_命令。请举例说明PleaseTwinDowshookex不允许挂接函数调用。LoadLibrary不返回HRESULT。如果失败,它将返回NULL,这恰好是分配给S_OK的相同值。建议的错误检查不仅没有用,而且是有害的.