首页
社区
课程
招聘
[旧帖] [求助]DLL的Dlg,设置加载的程序为父窗口,问题已经解决 0.00雪花
发表于: 2012-2-24 03:11 1413

[旧帖] [求助]DLL的Dlg,设置加载的程序为父窗口,问题已经解决 0.00雪花

2012-2-24 03:11
1413
--------------------------------------------问题已经解决---------------------------------------
一个DLL插件。
创建的Dlg,Dlg是非模态的。
设置加载DLL的程序为父窗口之后。

问题就出现了:
Dlg被父窗口绘制遮盖住了。
Dlg不能被看见但是能点击。
点击之后他会自己绘制一次,并且显示一部分能显示,一部分又被主窗口绘制给刷去了。

可能有三个方面的问题。
1:
绘制消息没跟主窗口同步。
Dlg设置子窗口之后,在上面拖动会影响到整个父窗口的重绘。
但是Dlg没有接受到父窗口的绘制消息。

2:
一个输入发在主窗口的编辑框中,就能正常的显示。
但是插件的Dlg窗口却被主窗口绘制的时候遮盖。

3:
插件Dlg窗口添加之后,会影响到整个父窗口的重绘。

测试过:
1:
Dlg添加好父子,关系之后,然后顶置Dlg窗口也不能解决问题。
2:
我想过用Hook拦截父窗口的绘制消息,来解决又没好方法。
3:
看到的问题。
但是看到输入法的窗口却能正常显示也没有被父窗口的绘制给影响到。这种情况。

怎么解决这个问题,因为学这个天天做到很晚才睡觉,
希望一颗上进心,能得到及时的帮助。
如果我描述的不足够清楚,请提醒一下。
在几个小时的琢磨中还是解决不了问题。。

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 44
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
帮顶,坐沙发
2012-2-24 08:54
0
雪    币: 208
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
楼主能否确认Dlg的消息处理线程和主窗口的消息线程是否是同一线程,如果不在同一个线程内,可能处理消息的顺序是混乱的。
2012-2-24 09:33
0
雪    币: 45
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
WIG
4
是一个DLL 加载了另外一个Dll
然后在加载的Dll中创建的dlg窗口。
然后和进程做父子窗口~
2012-2-24 17:11
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
加载另外一个Dll
然后加载的Dll中创建的dlg窗口
然后和进程做父子窗口
2012-2-24 23:37
0
雪    币: 208
活跃值: (40)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
6
在主窗口的消息线程中调用创建子窗口的API,就能保证这2个窗口的消息处理函数在同一个线程中。
2012-2-28 15:21
0
游客
登录 | 注册 方可回帖
返回
//