在C++中控制Windows关机
应用程序编译完成后,我们需要设计应用程序的打包和分发功能。在编写安装程序时,我们经常会遇到程序安装后需要重启电脑的问题。那么如何在代码中控制Windows的关机或重启呢?
要实现这个功能,需要使用Windows API提供的exitwindowsexfunction。我们可以通过查看C++ Builder提供的帮助文件来获取该函数的使用格式:
布尔ExitWindowsEx(
UINT uFlags,
//设置关机参数
保留
//系统保留字
);
uFlags的主要设定值和意义如表1所示。
DwReserved是系统的保留字,填个0就行了。
在了解了ExitWindowsEx函数的使用格式后,下面举例说明如何在C++ Builder中控制Windows关机或重启。
设计步骤如下:
1.运行C++ Builder系统后,首先激活菜单“文件/新应用”创建一个新项目。
2.激活菜单“文件/另存为”以文件名exitu.cpp保存表单单元,然后激活菜单“文件/项目另存为”以文件名exitp.bpr保存项目文件(注意:项目文件名不应与表单单元的文件名同名。)
3.在窗体上添加四个TButton组件Button1、Button2、Button3和Button4,并分别将它们的标题属性设置为以其他身份登录、关机、重启和强制关机。
4.分别设置Button1、Button2、Button3和Button4组件的OnClick事件响应代码,如下所示:
void _ _ fast call t form 1::button 1 click(to object Sender)
{
//以另一个身份登录
DWORD温度;
ExitWindowsEx(EWX_LOGOFF,temp);
}
// -
void _ _ fast call t form 1::button 2 click(to object Sender)
{
//关闭
DWORD温度;
ExitWindowsEx(EWX_SHUTDOWN,temp);
}
// -
void _ _ fast call t form 1::button 3 click(to object Sender)
{
//重新启动
DWORD温度;
ExitWindowsEx(EWX_REBOOT,temp);
}
// -
void _ _ fast call t form 1::button 4 click(to object Sender)
{
//强制关机
DWORD温度;
ExitWindowsEx(EWX_FORCE,temp);
}
设置参数描述:
设置值的简要含义。
EWX_FORCE强制终止程序并退出系统。
EWX_LOGOFF注销并以另一个身份登录。
EWX_REBOOT重新启动
EWX_SHUTDOWN关机
5.运行程序后,单击四个按钮来测试它们的功能。如果你能完成各种设置的功能,就说明你成功了,那么你就可以把本文介绍的方法应用到自己开发的C++ Builder应用程序中,来控制Windows的关闭。
位律师回复
0条评论