首页
社区
课程
招聘
[求助]获取窗口过程地址(非句柄)
发表于: 2013-9-23 10:33 5670

[求助]获取窗口过程地址(非句柄)

2013-9-23 10:33
5670
如何获得窗口过程的地址呢?
就像SPY++那样获得窗口过程的地址。
使用GetwindowLong GWL_WNDPROC

Retrieves the address of the window procedure, or a handle representing the address

这样有可能是获取到一个窗口过程的句柄 而不是地址,也就是0XFFFXXX这样的。

如果使用getclassinfo 那么子类化以后的窗口就不行了。比如我用SetwindowLong 设置窗口过程以后就不行了。
跟踪了一下CallWndProc如果使用窗口过程句柄,结果跟着就用0X11EA kifastcallentry跳到内核中去了。
求指点

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 1392
活跃值: (5212)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
2
是在本进程内,不是跨越进程,希望有简单一点的办法
2013-9-23 10:35
0
雪    币: 55
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
用IsWindowUnicode(hWnd)判断是不是Unicode的,如果是的,就用GetWindowLongW,不是Unicode就用GetWindowLongA
2013-9-23 10:47
0
雪    币: 1392
活跃值: (5212)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
4
这样获得的都是 地址而不是句柄吗??
2013-9-23 10:48
0
雪    币: 1392
活跃值: (5212)
能力值: ( LV13,RANK:240 )
在线值:
发帖
回帖
粉丝
5
灰常感谢,刚才试了一下成功了。谢谢
2013-9-23 10:53
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
不明觉厉
2013-9-23 17:06
0
游客
登录 | 注册 方可回帖
返回
//