5891|23

76

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

在AP程序里面,我通过GetForegroundWindow( )函数找到当前顶层的窗体,然后通过PostMessage( )给这个窗体发消息,那个顶层窗体怎么 [复制链接]

在AP程序里面,我通过GetForegroundWindow( )函数找到当前顶层的窗体,然后通过PostMessage( )给这个窗体发消息,那个顶层窗体怎么收不到消息啊?都不进顶层窗体的WindowProc( )函数。

最新回复

试了一下,只弹出一个对话框也许好关闭,当弹出多级对话框时(对话框再弹出了对话框)就难办了-----每次到定时时间只能关闭一个对话框,定时时间到不能循环把所有弹出的对话框关闭。真想不明白!!!  详情 回复 发表于 2009-5-7 12:07
点赞 关注

回复
举报

71

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
我DEBUG看了一下,用GetForegroundWindow()函数窗体是找到了,跟创建时的m_hWnd是一样的。但为什么通过PostMessage( )函数发消息给它,顶层窗体收不到呢?
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
顶层窗体是用NEW创建的一个对话框类,下面是我发消息的代码。



  1. HWND   hOtherDlgWnd;

  2. hOtherDlgWnd = ::GetForegroundWindow();   //找到当前的顶层窗体

  3. ::PostMessage(hOtherDlgWnd,WM_CLOSE,NULL,NULL);  //让顶层窗体关闭!

复制代码
 
 
 

回复

84

帖子

0

TA的资源

一粒金砂(初级)

4
 
测试了一下,用SendMessage( )函数,顶层窗体才可以收到,为什么?
 
 
 

回复

81

帖子

0

TA的资源

一粒金砂(初级)

5
 
自己搞定了,强
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

6
 
引用 4 楼 ultrapro 的回复:
自己搞定了,强



还没呢,想不明白啊。
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

7
 
引用 4 楼 ultrapro 的回复:
自己搞定了,强


说说如何搞定的吧,LZ
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

8
 
还没搞定呢,用SendMessage( )顶层窗体是可以收到消息了,但没反应啊!
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

9
 
我的目的是发消息给顶层窗体,叫它自己关闭自己,但做不到啊,不知道为什么。
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

10
 
引用 8 楼 xqhrs232 的回复:
我的目的是发消息给顶层窗体,叫它自己关闭自己,但做不到啊,不知道为什么。


能收到消息,还关不掉吗?
在收到消息后,再关闭一次。或发自定义的消息,在此消息的处理中来关闭应用。
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

11
 
我的不是把整个应用关闭,是把弹出在顶层的对话框关闭,顶层对话框可以收到消息,但没有自己关闭自己。
 
 
 

回复

98

帖子

0

TA的资源

一粒金砂(初级)

12
 
顶一下,不知道为什么,达不到自己的要求。跟什么Z序有关吗?
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

13
 
试了很多种方式,但顶层窗体就是没反应啊!它就不理会从主窗体发过来的关闭消息。
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(高级)

14
 
发送WM_DESTROY
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

15
 
顶层窗口收到消息后给自己发个WM_CLOSE消息
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

16
 
引用 14 楼 CheryStrive 的回复:
顶层窗口收到消息后给自己发个WM_CLOSE消息


这样做了,没有作用。顶层窗体一动不动。
 
 
 

回复

67

帖子

0

TA的资源

一粒金砂(初级)

17
 
POSTMESSAGE不进?发送的什么消息?
 
 
 

回复

55

帖子

0

TA的资源

一粒金砂(初级)

18
 
引用 16 楼 BEYONDMA 的回复:
POSTMESSAGE不进?发送的什么消息?


对,不管是发系统定义的消息,还是自己定义的消息,顶层窗体都收不到。不进顶层窗体的WINDOWPROC( )。
 
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

19
 
引用 13 楼 zjh824 的回复:
发送WM_DESTROY

刚做实验试了一下,也不行。顶层窗体就没反应。
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

20
 
要让消息起作用,首先你要有消息处理函数,比如窗体的回调函数或者PreTranslateMessage,其次是收到消息之后如何处理,关闭可以用EndDialog
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表