繁体   English   中英

我们可以在 MFC 中挂接 function 调用吗?

[英]Can we hook function calls in 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_UPDATE_COMMAND_UI定义的回调 function 调用和ON_COMMAND之后和之前调用 function 。

我正在尝试创建一个#define ,以便本地化更改并作为回调开始结束的挂钩机制。

我绝对可以在每个 function 调用之后和之前调用我常见的 function 但我不认为这是一种干净的方法。

什么是标准或好的方法?

我希望从外部干净地连接到ON_COMMANDON_UPDATE_COMMAND_UI回调函数。

我在 Windows,Visual Studio 2015 x64。

您可以通过调用 SetWindowsHookEx function... 来安装挂钩过程...要检索 DLL 模块的句柄,请调用 LoadLibrary function if (FAILED(hResult)) { // TODO: 写入器错误...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM