说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

用Delphi实现禁止用户关闭Window9X

HTML文档下载 WORD文档下载 PDF文档下载
用Delphi实现禁止用户关闭Window9X

在软件的安装或演示操作等过程中,如果关闭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。

维基百科正式从MySQL迁移到MariaDB数据库 JavaScript MVC框架PK:Angular、Backbone、CanJS与Ember 大数据推广引领精准推广浪潮 ThoughtWorks负责人曾学海:数字渠道细分带来的架构演进 你画我猜2 : Draw Something 2正式发布 关于一个API的问题。急呀。老板叫我这个星期搞定。 SQLServer2000安装问题请教!! 怎么用java打开dbf格式的文件,修改其中的内容保存,它跟读写txt文件有区别吗?? 论坛带宽扩容:已经由共享10M变为独享100M。 请问哪里有Sybase11.9下载???急! server to server 方式如何提交一个新的页面 求vc笔试题目 在vc的win32 application程序中如何开始多线程? 亲爱的朋友——“图片无预览”怎么办??? 已知m的平方加n的平方-4m加6n=13,求n的m 已知m的平方加n的平方-4m加6n=-13,求n的 若md 二次方+n到二次方-6n+4m+13=0, 二又五分之二乘以三点七加上五点三除以十一分之五加上 {4减(5分之3减3又3分之1)}除4分之15简便 16.3减16.3除2= 用简便计算,怎么做?16 17.8*79-17.8*15-64*7.8的简便 17*23-23*7简便计算除了17×23-23× 25分之23乘以17分之16加上25分之一乘以17 美摄影师冰冷海水中拍摄企鹅跳水【高清印度首都发生工厂火灾6人死亡 10多尼日利亚一教堂发生踩踏事故 致17人奇数为男偶数是女?2013年是“男性周观天下:美国的“偷窥瘾”祭滑铁卢200周年 详解拿破仑因何失沪指两月大涨800点 老股民满仓踏空从热词看生活新变化:油价N连跌 卖房中国企业绿色公号周榜TOP20 第1A股角逐全球最“牛”市场 还能涨多久无上道种界天星图剑胎强商最强功德系统色林错旅游当惹雍错旅游文部南村旅游文部北村旅游托林寺旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘