mengyy
驱动牛犊
驱动牛犊
  • 注册日期2001-09-20
  • 最后登录2002-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1656回复:12

如何在应用程序里知道98正在关机?

楼主#
更多 发布于:2001-12-10 12:05
就是当98关机的时候,应用程序也要被终止。在应用程序退出前,希望能够得知OS是否正在关闭。谢谢 :(
znsoft
管理员
管理员
  • 注册日期2001-03-23
  • 最后登录2023-10-25
  • 粉丝300
  • 关注6
  • 积分910分
  • 威望14796点
  • 贡献值7点
  • 好评度2410点
  • 原创分5分
  • 专家分100分
  • 社区居民
  • 最爱沙发
  • 社区明星
沙发#
发布于:2001-12-10 12:47
你可以收到程序关闭消息......只要按正常的步骤处理就行了
http://www.zndev.com 免费源码交换网 ----------------------------- 软件创造价值,驱动提供力量! 淡泊以明志,宁静以致远。 ---------------------------------- 勤用搜索,多查资料,先搜再问。
mengyy
驱动牛犊
驱动牛犊
  • 注册日期2001-09-20
  • 最后登录2002-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2001-12-10 12:51
我的应用程序有些特别,在应用程序退出,OS不退出和OS退出导致应用程序两种情况下有区别。所以我希望在应用程序中知道,OS是否退出。
就是在收到应用程序关闭的消息里判断OS是否退出。
望大侠指教

[编辑 -  12/10/01 作者: mengyy]
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2001-12-10 14:15
好像OS退出时会发消息给你的。
和自己退出的消息可不一样。
mengyy
驱动牛犊
驱动牛犊
  • 注册日期2001-09-20
  • 最后登录2002-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2001-12-10 14:58
windows退出时,是会发消息给驱动程序的。但是对于应用程序呢?
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2001-12-10 15:16
当OS要关闭时,它会给当前所有打开的应用程序发送一个消息
WM_QUERYENDSESSION,应用程序会处理这个消息并返回一个值以告诉OS它是否同意被关闭;若当前所有的应用程序都同意被关闭,则OS再向所有的应用程序发送WM_ENDSESSION消息关闭所有的应用程序,至系统即可关闭。
Tom_lyd
Buddha
驱动老牛
驱动老牛
  • 注册日期2001-04-29
  • 最后登录2013-05-18
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望17点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2001-12-10 15:18
os关闭的时候给每一个应用程序都发送消息,
好像是WM_QUERYENDSESSION 和 WM_ENDSESSION 一类的
<table style="filter: glow(color=sky blue, strength=10)"> <font color=white> 猫生病了, 老鼠大声朗诵诗集, 并修剪盆花. 猫生病了, 老鼠慢慢刷牙洗脸, 并打扫房间. 猫生病了, 老鼠倚在窗边欣赏夜色, 并对流星许愿. 猫生病了, 老鼠也病了, 它说:"我还是习惯那种时时紧张, 处处小心, 夜夜逃亡的生活." 午夜, 我听到老鼠在叹息, 且不再读诗了. </font></table>
mengyy
驱动牛犊
驱动牛犊
  • 注册日期2001-09-20
  • 最后登录2002-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2001-12-10 15:34
那如果OS不退出,只是关闭应用程序,应用程序还能收到这个消息吗?
Netguy
驱动牛犊
驱动牛犊
  • 注册日期2001-04-02
  • 最后登录2012-05-25
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望17点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2001-12-10 16:22
不会。你查查MSDN即知

那如果OS不退出,只是关闭应用程序,应用程序还能收到这个消息吗?
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2001-12-10 16:33
也会发送,你做一个SDK程序测试一下便知。通常的应用程序退出时询问存盘即是利用了响应WM_QUERIENDSESSION消息,如果用户选择取消,则OS不能关闭该应用程序。
Tom_lyd
mengyy
驱动牛犊
驱动牛犊
  • 注册日期2001-09-20
  • 最后登录2002-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2001-12-10 16:49
我的实验结果很奇怪。
在基于Dialog的程序中由主窗口响应这个消息。发现只有在OS退出的时候才响应。如果在单文档程序中的CMainFrame或Cview中响应这个消息。发现该消息在应用程序退出时并不响应,无论 OS是否退出。不知道是怎么会事?
Tom_lyd
驱动大牛
驱动大牛
  • 注册日期2001-09-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2001-12-10 17:09
非常对不起,我刚才的回答是错误的。MSDN中有说,WM_QUERYENDSESSION 和WM_ENDSESSION消息是在系统或用户调用
ExitWindowsEx()函数时(关闭OS)时发送的两个消息,而应用程序关闭发送的应该是WM_CLOSE 或WM_DESTROY(关闭窗口)消息。你可以看一看MSDN,里面讲得很详细。
Tom_lyd
mengyy
驱动牛犊
驱动牛犊
  • 注册日期2001-09-20
  • 最后登录2002-02-19
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2001-12-10 17:14
谢谢大家.我已经解决这个问题了。也不知道怎样给大家加分。不过
我心里真的非常感谢大家。

[编辑 -  12/10/01 作者: mengyy]
游客

返回顶部