分类:
2008-10-15 16:40:39
我们在应用程序编制完成后,需要设计应用程序的包装和分发功能。在编写安装程序时,经常会遇到这样的问题:程序安装完成后需要重新启动计算机。那么在代码中如何控制的关机或重新启动呢?
要实现这个功能,需要用到 API提供的一个ExitWindowsEx函数。我们可以通过查看 Builder提供的帮助文件得到这个函数的使用格式:
BOOL ExitWindowsEx(
UINT uFlags,
// 设置关机参数
DWord dwReserved
// 系统保留字
);
其中uFlags的主要设置值及意义见表1。
dwReserved是系统保留字,随便填入个0即可。
了解ExitWindowsEx函数的使用格式后,下面以实例说明在 Builder中控制Windows关机或重新启动的方法。
设计步骤如下:
1.运行C++ Builder系统后,先激活选单“File/New Application”,创建一个新工程。
2.激活选单“File/Save As”把窗体单元以文件名exitu.cpp存盘,然后激活选单“File/Save Project As”把工程文件以文件名exitp.bpr存盘。(注意:工程文件名与窗体单元文件名不要同名。)
3.在窗体上增加四个TButton组件Button1、Button2、Button3和Button4,分别设置它们的Caption属性为“其它身份登录”、“关机”、“重新启动”和“强制关机”。
4.分别设置Button1、Button2、Button3和Button4组件的OnClick事件响应代码如下:
void __fastcall TForm1::Button1Click(TObject ?Sender)
{
//其它身份登录
DWORD temp;
ExitWindowsEx(EWX_LOGOFF,temp);
}
//------------------------------
void __fastcall TForm1::Button2Click(TObject ?Sender)
{
//关机
DWORD temp;
ExitWindowsEx(EWX_SHUTDOWN,temp);
}
//------------------------------
void __fastcall TForm1::Button3Click(TObject ?Sender)
{
[1]