首页
社区
课程
招聘
[求助]请问如何能找到WndProc的地址?
发表于: 2007-8-29 14:17 6886

[求助]请问如何能找到WndProc的地址?

2007-8-29 14:17
6886

int WINAPI WinMain(...){
        ......
        while ( GetMessage(&msg, NULL, 0, 0) ){
                TranslateMessage(&msg) ;
                DispatchMessage(&msg) ;
        }
        return msg.wParam ;
}

LRESULT CALLBACK WndProc(...) {
        switch ( message ){
                ...
        }
        return DefWindowProc(...) ;
}
一般程序都是这个结构,DispatchMessage负责把message提交给WndProc处理,但我找不到WndProc的地址,只能找到DispatchMessage,按F8之后这个消息就已经处理完了,怎么能跟进去找到WndProc的起始地址呢?


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 7
支持
分享
最新回复 (5)
雪    币: 209
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
GetWindowLong
2007-8-29 14:26
0
雪    币: 433
活跃值: (176)
能力值: ( LV13,RANK:1250 )
在线值:
发帖
回帖
粉丝
3
1. 已知窗口句柄求窗口过程地址,用GetWindowLong/GetClassLong函数
lpfnWndProc = (WNDPROC)GetWindowLong(hWnd, GWL_WNDPROC)
lpfnWndProc = (WNDPROC)GetClassLong(hWnd, GCL_WNDPROC)

2. 下断RegisterClassA(W)/RegisterClassExA(W)查看其参数所指向的WNDCLASS(EX)结构体的lpfnWndProc成员

总之方法很多
2007-8-29 14:27
0
雪    币: 196
活跃值: (96)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
收到~多谢~
2007-8-29 15:23
0
雪    币: 356
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
对DefWindowProc下断。
2007-9-1 17:19
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这个方法不错。
2007-9-2 00:54
0
游客
登录 | 注册 方可回帖
返回
//