首页
社区
课程
招聘
[study-note]Windows环境下32位汇编语言程序设计--第4章 第一个窗口程序4.1 开始了解窗口(3)
发表于: 2008-4-15 23:43 8507

[study-note]Windows环境下32位汇编语言程序设计--第4章 第一个窗口程序4.1 开始了解窗口(3)

2008-4-15 23:43
8507
收藏
免费 7
支持
分享
最新回复 (7)
雪    币: 331
活跃值: (57)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
最近又翻出罗云彬的书看看,原来认为窗口回调函数中有MessageBox,那么在点确定前窗口会被冻结住,毕竟窗EIP阻塞在MessageBox里了嘛。但是!仔细调试了一下发现并不是这样,非常非常奇怪?
具体现象是这样的:在MessageBox前(窗口过程开始处)下断点,当别的程序(如sendmessage)向此窗口过程发送消息时,OD还是会断下来,这是为什么?
2008-4-16 10:05
0
雪    币: 331
活跃值: (57)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
3
感觉系统调用窗口过程像是多线程一样
2008-4-16 10:09
0
雪    币: 486
活跃值: (13)
能力值: ( LV9,RANK:430 )
在线值:
发帖
回帖
粉丝
4
你确定发送消息后,程序调用了相应的回调函数了吗?
如果没有的话,那它怎么断下来呢?
2008-4-17 00:57
0
雪    币: 331
活跃值: (57)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
5
我把messagebox换成了死循环,也确定调用了回调函数(CPU变成100%了),但窗口还是会移动!让我无法解释
上传的附件:
2008-4-17 09:17
0
雪    币: 331
活跃值: (57)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
6
明白了,那个可以移动的窗口,其实是explorer.exe的一个线程创建的假(Ghost)窗口,所以假窗口可以移动,且不会被覆盖!可以用spy++,进(线)程工具查看!
2008-4-18 15:46
0
雪    币: 107
活跃值: (404)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这可是好东西了。。支持你。版主
2008-4-19 07:47
0
雪    币: 486
活跃值: (13)
能力值: ( LV9,RANK:430 )
在线值:
发帖
回帖
粉丝
8
更正一个问题:是楼主,不是版主。
2008-4-19 14:27
0
游客
登录 | 注册 方可回帖
返回
//