hook代码中窗体Domodal有关问题
hook代码中窗体Domodal问题本帖最后由 hzy694358 于 2012-11-16 16:59:22 编辑代码hook了宿主程序Snew 并C
hook代码中窗体Domodal问题
本帖最后由 hzy694358 于 2012-11-16 16:59:22 编辑 代码hook了宿主程序S
new 并Create一个非模态窗体A,在A窗体上
Domodal了一个窗体B,一切运行都正常
但是B的Domodal只相对于A才是Domodal的,对于宿主程序就不是了
所以还是可以操作宿主程序,
如果在Domodal窗体未关闭的情况下,关闭了new出窗体A的宿主窗体
这个时候,宿主程序S就崩溃了
Hook代码里窗体不能Domodal吗,只能是非模态的才可以??
[最优解释]
你的窗体B用ShowWindow()试一下,如果也不行那就说明跟Domodal没关系了。
另外,你HOOK的是主程序S的什么?
消息?键盘?鼠标?
是S发出的还是外设对S的操作?
如果是外设对程序的操作,既使被截取了也不会有影响才对。
[其他解释]
引用:
你的窗体B用ShowWindow()试一下,如果也不行那就说明跟Domodal没关系了。
另外,你HOOK的是主程序S的什么?
消息?键盘?鼠标?
是S发出的还是外设对S的操作?
如果是外设对程序的操作,既使被截取了也不会有影响才对。
看来你没看清帖子啊
模态窗体B是正常的,只是在窗体B存在的时候,关闭了产生非模态窗体A的宿主窗口
[其他解释]
莫非需要一个 STSTEMMODAL 对话框 ?
[其他解释]
试试:
AttachThreadInput(S,me);
[其他解释]
求解求解求解求解……
[其他解释]
看来你没看清帖子啊
模态窗体B是正常的,只是在窗体B存在的时候,关闭了产生非模态窗体A的宿主窗口
这个时候会导致宿主进程挂掉……
[其他解释]HOOK除了获取被监控的程序的消息,不会对其产生任何影响吧?
怎么可能导致它挂掉?
[其他解释]HOOK除了获取被监控的程序的消息,不会对其产生任何影响吧?
怎么可能导致它挂掉?
------------------------
怎么可能没影响呢,对话框的资源都是在hookdll 里面生成的
也就是在宿主进程中产生的,只要资源没释放,关闭窗体就会挂掉了,
new的窗体我可以自己去释放,
但是domodal的 就会挂掉
[其他解释]如此这般,那岂不是可以做个钩子,就可以屏蔽所有应用程序的任何操作了?只要其一有消息,就故意执行内存泄漏的代码让其挂掉,
[其他解释]如果使用钩子函数造成内存泄漏,导致宿主程序挂掉确实是无法解决的悬疑~
表示关注
[其他解释]本帖无结果 结贴