我用CBT钩子监视系统所有的对话框或窗口的出现
回调函数的代码如下:
LRESULT __declspec(dllexport) CALLBACK CBTProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode < 0) // do not process message
return CallNextHookEx(hkb, nCode, wParam, lParam);
if (nCode==HCBT_CREATEWND)//有窗口或对话框创建
{ Handle[Count]=(HWND)wParam;//记录其句柄
Count++;
}
return CallNextHookEx(hkb, nCode, wParam, lParam);
}
然后运行notepad打开一个文本文档,Handle中有四条记录,分别为aaaaaaaaa,bbbbbbbbb,ccccccccc,ddddddddd,用spy++跟踪这个文本文档窗口,发现其由两个窗口构成,一个是菜单,其句柄为aaaaaaaaa,另一个edit文本编辑区,其句柄为ccccccccc,但是在CBT钩子还记录了两个句柄bbbbbbbbb,ddddddddd就不知是何物了?请大家指教!
回调函数的代码如下:
LRESULT __declspec(dllexport) CALLBACK CBTProc(int nCode, WPARAM wParam, LPARAM lParam)
{
if (nCode < 0) // do not process message
return CallNextHookEx(hkb, nCode, wParam, lParam);
if (nCode==HCBT_CREATEWND)//有窗口或对话框创建
{ Handle[Count]=(HWND)wParam;//记录其句柄
Count++;
}
return CallNextHookEx(hkb, nCode, wParam, lParam);
}
然后运行notepad打开一个文本文档,Handle中有四条记录,分别为aaaaaaaaa,bbbbbbbbb,ccccccccc,ddddddddd,用spy++跟踪这个文本文档窗口,发现其由两个窗口构成,一个是菜单,其句柄为aaaaaaaaa,另一个edit文本编辑区,其句柄为ccccccccc,但是在CBT钩子还记录了两个句柄bbbbbbbbb,ddddddddd就不知是何物了?请大家指教!
解决方案 »
- 求源码行统计工具源码
- 网页打不开
- AfxBeginThread
- 我总结的一点小东西
- SDI如何动态显示和隐藏状态栏?
- 怎么解决winsock.h和winsock2.h在一个程序中的冲突问题?
- 当一个窗口关闭时WM_CLOSE,WM_DESTROY,WM_QUIT这三个消息的发送顺序怎样?
- 100分求《COM技术内幕》(inside com)的最后例子:Tangram
- 如何屏蔽和恢复鼠标消息,或者如何禁用鼠标和恢复,各位救我!
- 类名为SysListView32 的窗口 对应于mfc中是什么类?
- #####100分求教获得当前系统地日期和时间用dao方法存入access数据库地方法######
- 问一个弱弱的问题
1. 激活,建立,销毁,最小化,最大化,移动,改变尺寸等窗口事件;
2. 完成系统指令;
3. 来自系统消息队列中的移动鼠标,键盘事件;
4. 设置输入焦点事件;
5. 同步系统消息队列事件。bbbbbbbbb,ddddddddd是不是激活和建立事件?
你在共享数据段的设置中把Count初始化了没有?
会不会是这里的问题~
结果绝对是这样的!