Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14490346
  • 博文数量: 5645
  • 博客积分: 9880
  • 博客等级: 中将
  • 技术积分: 68081
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-28 13:35
文章分类

全部博文(5645)

文章存档

2008年(5645)

我的朋友

分类:

2008-04-28 20:47:23

下载本文示例代码
----在软件的安装或演示操作等过程中,如果关闭WIN9X会产生严重的后果,就必须禁止用户关闭WIN9X,直到完成相应的操作,那么如何才能禁止用户关闭WIN9X呢?其实 很简单,当用户关闭WIN9X时,系统会发送给各应用程序一个消息wm_queryendsession,告诉各应用程序要关机了,如果反馈回来的消息值为0,那么WIN9X就不能关机。因此, 截获wm_queryendsession,并反馈回0,大功就告成了,下面是一个例子。 ----在下面这个例子中,我们在窗体中加入一个复选框(CHECKBOX),如果用户不选中它,则无法关闭WIN9X,如果选中它,才可以关闭。在实际应用中,用户可首先设定 一个布尔变量,当所需的作操都完成后,使其值变化,当程序检测到这个变量的值变化后才允许关闭WIN9X。为方便大家使用,给出窗体的完整代码(很短): unitUnit1; interface uses Windows,Messages,SysUtils, Classes,Graphics,Controls, Forms,Dialogs,StdCtrls; type TForm1=class(TForm) CheckBox1:TCheckBox; private {Privatedeclarations} //声明拦截WM_QueryEndSession消息的过程 procedureWMQueryEndSession(varMsg:TMessage); messageWM_QueryEndSession; public {Publicdeclarations} end; var Form1:TForm1; implementation {$R*.DFM} procedureTForm1.WMQueryEndSession (varMsg:TMessage); begin ifCheckBox1.CheckedthenMsg.Result:=1 elseMsg.Result:=0; end; end. ----运行上面的程序,首先不要选中复选框,在WIN9X的“开始”菜单中选择“关闭系统\关闭计算机或重新启动计算机”,你将发现屏幕闪烁了一下又恢复了正常;将 复选框选中,再关闭计算机,这下就可如愿了。 ----程序调试环境:DELPHI4,中文WIN98。 ----在软件的安装或演示操作等过程中,如果关闭WIN9X会产生严重的后果,就必须禁止用户关闭WIN9X,直到完成相应的操作,那么如何才能禁止用户关闭WIN9X呢?其实 很简单,当用户关闭WIN9X时,系统会发送给各应用程序一个消息wm_queryendsession,告诉各应用程序要关机了,如果反馈回来的消息值为0,那么WIN9X就不能关机。因此, 截获wm_queryendsession,并反馈回0,大功就告成了,下面是一个例子。 ----在下面这个例子中,我们在窗体中加入一个复选框(CHECKBOX),如果用户不选中它,则无法关闭WIN9X,如果选中它,才可以关闭。在实际应用中,用户可首先设定 一个布尔变量,当所需的作操都完成后,使其值变化,当程序检测到这个变量的值变化后才允许关闭WIN9X。为方便大家使用,给出窗体的完整代码(很短): unitUnit1; interface uses Windows,Messages,SysUtils, Classes,Graphics,Controls, Forms,Dialogs,StdCtrls; type TForm1=class(TForm) CheckBox1:TCheckBox; private {Privatedeclarations} //声明拦截WM_QueryEndSession消息的过程 procedureWMQueryEndSession(varMsg:TMessage); messageWM_QueryEndSession; public {Publicdeclarations} end; var Form1:TForm1; implementation {$R*.DFM} procedureTForm1.WMQueryEndSession (varMsg:TMessage); begin ifCheckBox1.CheckedthenMsg.Result:=1 elseMsg.Result:=0; end; end. ----运行上面的程序,首先不要选中复选框,在WIN9X的“开始”菜单中选择“关闭系统\关闭计算机或重新启动计算机”,你将发现屏幕闪烁了一下又恢复了正常;将 复选框选中,再关闭计算机,这下就可如愿了。 ----程序调试环境:DELPHI4,中文WIN98。 下载本文示例代码


用Delphi实现禁止用户关闭Window9X用Delphi实现禁止用户关闭Window9X用Delphi实现禁止用户关闭Window9X用Delphi实现禁止用户关闭Window9X用Delphi实现禁止用户关闭Window9X用Delphi实现禁止用户关闭Window9X用Delphi实现禁止用户关闭Window9X用Delphi实现禁止用户关闭Window9X用Delphi实现禁止用户关闭Window9X用Delphi实现禁止用户关闭Window9X用Delphi实现禁止用户关闭Window9X用Delphi实现禁止用户关闭Window9X用Delphi实现禁止用户关闭Window9X用Delphi实现禁止用户关闭Window9X用Delphi实现禁止用户关闭Window9X
阅读(84) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~