<b>用BCB实现禁止用户关闭Window系统</b>[VC/C++编程]
本文“<b>用BCB实现禁止用户关闭Window系统</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
在软件的安装或演示操作等历程中,假如关闭Windows系统会产生严重的后果,就必须禁止用户关闭Windows,直到完成呼应的操作,那么若何才能禁止用户关闭Windows呢?其实很简单,当用户关闭Windows时,系统会发送给各利用程序一个消息WM_QUERYENDSESSION,奉告各利用程序要关机了,假如反馈回来的消息值为0,那么Windows就不能关机.因此,截获WM_QUERYENDSESSION,并反馈回0,大功就告成了,下面是一个例子.
在下面这个例子中,我们在窗体中加入一个复选框(TCheckBox),假如用户不选中它,则无法关闭Windows,假如选中它,才可以关闭.在实际利用中,用户可首先设定一个布尔变量,当所需的作操都完成后,使其值改变,当程序检测到这个变量的值改变后才答应关闭Windows.为便利大家利用,给出窗体的完好代码(很短):
在.hpp中的Private段内加入以下代码:
//截获 WM_QUERYENDSESSION 消息.
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_QUERYENDSESSION,TMessage,OnWMQueryEndSession)
END_MESSAGE_MAP(TForm);
void __fastcall TForm1::OnWMQueryEndSession(TMessage &Message);
在.cpp中增添以下代码:
void __fastcall TForm1::OnWMQueryEndSession(TMessage &Message)
{
//假如CheckBox被选中,答应关机.
if(CheckBox1->Checked)
Message.Result=1;
else
Message.Result=0;
}
----运行上面的程序,首先不要选中复选框,在Windows的“开始”菜单中挑选“关闭系统-->关闭计算机或重新启动计算机”,你将发现屏幕闪耀了一下又恢复了正常;将复选框选中,再关闭计算机,这下便可如愿了.
----程序调试环境:C++ Builder 6.0 + sp3
Windows 2000 ADV Server + sp3
以上是“<b>用BCB实现禁止用户关闭Window系统</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |