###### 问题遇到的现象和发生背景
tagCWPSTRUCT 结构如果拆解 ?
###### 问题相关代码,请勿粘贴截图
LRESULT Widget::HookMessageProc(int nCode, WPARAM wParam, LPARAM lParam)
{
// 一般来说,所有运行的进程(有窗口过程的)都会加载这个 钩子过程了
if (nCode >= HC_ACTION)
{
tagCWPSTRUCT* tagCwp = (tagCWPSTRUCT*)lParam;
QString str = QString("handle =%1,message=%2,lp=%3,lw=%4").arg(QString::number((int)tagCwp->hwnd)).arg(QString::number(tagCwp->message)).arg(QString::number(tagCwp->lParam)).arg(QString::number(tagCwp->wParam));
QFile file("d:\\text.txt");
file.open(QIODevice::WriteOnly | QIODevice::Text|QIODevice::Append);
file.write(str.toUtf8()+"\n");
file.close();
return 0;
}
return CallNextHookEx(g_wndHook, nCode, wParam, lParam);
}
SetWindowsHookEx(WH_CALLWNDPROC, HookMessageProc, hApp1, GetCurrentThreadId());
###### 运行结果及报错内容
以下是Text文件中的内容:
handle =2426644,message=36,lp=368934118416,lw=0
handle =2426644,message=129,lp=368934118336,lw=0
handle =2426644,message=70,lp=368934114496,lw=0
handle =2426644,message=131,lp=368934114448,lw=1
handle =2426644,message=71,lp=368934114496,lw=0
handle =2426644,message=3,lp=29950894,lw=0
handle =2426644,message=5,lp=32506532,lw=0
handle =2426644,message=127,lp=0,lw=2
handle =2426644,message=127,lp=0,lw=0
handle =2426644,message=127,lp=0,lw=1
handle =199294,message=129,lp=368934118336,lw=0
handle =199294,message=131,lp=368934118448,lw=0
handle =199294,message=1,lp=368934118336,lw=0
handle =199294,message=5,lp=0,lw=0
handle =199294,message=3,lp=0,lw=0
handle =199294,message=647,lp=0,lw=33
handle =2426644,message=131,lp=368934118448,lw=0
handle =2426644,message=1,lp=368934118288,lw=0
handle =2426644,message=5,lp=32506532,lw=0
handle =2426644,message=3,lp=29950894,lw=0
handle =2426644,message=70,lp=368934120560,lw=0
handle =2426644,message=131,lp=368934120512,lw=1
handle =2426644,message=71,lp=368934120560,lw=0
handle =2426644,message=128,lp=0,lw=0
handle =2426644,message=128,lp=0,lw=1
###### 我的解答思路和尝试过的方法
我将窗口产生的消息,保存到Text文件里面,方便分析 .
###### 我想要达到的结果
问题是如何拆解 IParam,与WParam 里面的消息? Message的值又表示什么意思呢?