一、钩子简介
1.创建钩子
HHOOK SetWindowsHookEx
(
int idHook, //钩子类型,不同的钩子类型钩取不同的消息。
//WH_CBT - 只对窗口创建的消息感兴趣
HOOKPROC lpfn, //钩子处理函数
HINSTANCE hmod, //应用程序实例句柄,限定钩取的进程范围
DWORD dwThreadId //线程ID,限定钩取的线程范围
);
2.钩子处理函数
LRESULT CALLBACK CBTProc
(
int nCode, //钩子码,跟钩子类型相对应。
//HCBT_CREATEWND - 对应WH_CBT的钩子类型
WPARAM wParam, //刚刚创建成功的窗口句柄
LPARAM lParam
);
3.可以更改窗口处理函数和风格等等
LONG SetWindowLongPtr
(
HWND hWnd, //窗口句柄
int nIndex, //要更改的窗口类型
//GWLP_WNDPROC - 指更改窗口的处理函数
LONG_PTR dwNewLong //新的窗口处理函数名(函数地址)
)
二、MFC窗口创建流程
1.代码书写
#include <afxwin.h>
//定义自己的框架类 CMyFrameWnd ,派生自 CFrameWnd 类
class CMyFrameWnd :pu
MFC窗口和消息
最新推荐文章于 2023-12-18 19:49:26 发布
本文详细探讨了MFC(Microsoft Foundation Classes)库中窗口的创建与管理,以及消息处理流程。从窗口类的派生、OnCreate()与OnPaint()方法的使用,到消息映射和消息循环的工作原理,揭示了MFC如何在Windows环境下实现用户界面的交互。通过实例分析,帮助读者掌握MFC在C++应用开发中的核心技巧。
摘要由CSDN通过智能技术生成