CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

如何让程序在Windows关闭时自动结束运行?

楼主movingboy(movingboy)2002-02-22 21:03:25 在 Delphi / VCL组件开发及应用 提问

我写的一个程序,如果不关闭它就关闭Windows,Windows就会好像死机一样,等老半天才看到一个“程序没有响应”的提示框。有没有办法让程序检测到Windows关闭而自动关闭自己呢? 问题点数:50、回复次数:7Top

1 楼zwhhoo(我爱真理)回复于 2002-02-22 21:07:45 得分 0

好像有一个消息。Top

2 楼torble(阿裕)回复于 2002-02-22 21:17:14 得分 35

Windows   在关闭时会向所有的应用程序发送WM_QUERYENDSESSION   消息  
   
  WM_QUERYENDSESSION     结构  
  nSource   =   (UINT)   wParam;         //   source   of   end-session   request    
  fLogOff   =   lParam                         //   logoff   flag    
     
  nSource   -   Reserved   for   future   use.    
  fLogOff   -   Value   of   lParam.   Indicates   whether   the   user   is   logging   off   or   shutting   down   the   system.    
   
   
   
  //   Delphi   中截获   WM_QUERYENDSESSION   消息  
   
  private  
        procedure   wmQUERYENDSESSION(var   msg:tWMQUERYENDSESSION);message   WM_QUERYENDSESSION;  
   
  ......  
   
  procedure   wmQUERYENDSESSION(var   msg:tWMQUERYENDSESSION);  
  begin  
      //   这里加入你要处理的代码  
  end;Top

3 楼stiwin((忙碌))回复于 2002-02-22 22:26:00 得分 0

一个技巧使用户无法关机:  
  procedure   wmQUERYENDSESSION(var   msg:tWMQUERYENDSESSION);message   WM_QUERYENDSESSION;  
  procedure   TForm1.WmQUERYENDSESSION(VAR   msg:tWMQUERYENDSESSION);  
  begin  
  msg.Result:=0;  
  end;  
  哈哈不能关机了  
  Top

4 楼F4(陪你去看流星雨)回复于 2002-02-22 22:48:21 得分 10

关键是接收到WM_QUERYENDSESSION   消息后  
  你的程序要结束没有响应的部分!  
  东方快车也有这个毛病!Top

5 楼movingboy(movingboy)回复于 2002-02-25 21:44:18 得分 0

To   torble:我的代码应该处理些什么呢?  
  To   F4:我的程序按正常的方法关闭(如按系统菜单上的关闭)可以很正常的结束。现在我发现在“关闭Windows”的窗体上按下“是”后,Windows只是把“关闭Windows”这个窗体关闭了,其它啥也没做。Top

6 楼cysnowboy(跳水的鱼儿)回复于 2002-02-25 21:56:56 得分 5

关注Top

7 楼movingboy(movingboy)回复于 2002-03-17 11:54:01 得分 0

尽管没有解决我的问题,但我还是给分。Top

相关问题

  • 退出windows如何将正在运行的VFP程序关闭?
  • Windows关机时或注销时,是如何关闭正在运行的程序?
  • 如何运行WINDOWS程序?
  • 怎么在一个运行程序中关闭另一个运行的程序
  • Windows Me下如何运行Dos程序?
  • 请教!如何运行WINDOWS程序?
  • windows运行的不知名程序
  • api运行windows程序的函数
  • 问windows服务程序运行机制
  • 怎样让程序运行后关闭自已

关键词

  • 消息
  • 关闭
  • queryendsession
  • twmqueryendsession
  • wmqueryendsession
  • 程序
  • 结束
  • wm
  • procedure
  • var msg

得分解答快速导航

  • 帖主:movingboy
  • torble
  • F4
  • cysnowboy

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo