hook和钩子函数
- 开源代码
- 2025-09-17 18:54:01

1.介绍
钩子函数(Hook Function) 本质上是一种回调callback机制,它允许程序在特定事件发生时执行用户自定义代码。一种实现方式。
✔ Hook 是一种更广义的概念,指拦截或修改函数行为,而钩子函数是 Hook 的一种具体实现方式。
钩子函数 主要用于:
回调机制(在事件发生时执行自定义代码)框架扩展(如 Qt 的 eventFilter())系统 Hook(拦截按键、鼠标等事件) 2.例子回调机制。
#include <iostream> #include <functional> // 定义钩子函数指针 std::function<void(int)> HookFunction = nullptr; // 触发事件时调用钩子 void DoSomething(int value) { std::cout << "Doing something with " << value << std::endl; // 如果有钩子函数,调用它 if (HookFunction) { HookFunction(value); } } // 自定义钩子函数 void MyHook(int value) { std::cout << "Hook triggered! Value: " << value << std::endl; } int main() { // 设置钩子 HookFunction = MyHook; // 触发事件 DoSomething(42); return 0; }运行结果:
Doing something with 42 Hook triggered! Value: 42