我们在应⽤程序编制完成后,需要设计应⽤程序的包装和分发功能。在编写安装程序时,经常会遇到这样的问题:程序安装完成后需要重新启动计算机。那么在代码中如何控制Windows的关机或重新启动呢?
  要实现这个功能,需要⽤到Windows API提供的⼀个ExitWindowsEx函数。我们可以通过查看C++ Builder提供的帮助⽂件得到这个函数的使⽤格式:
  BOOL ExitWindowsEx(
  UINT uFlags,
  // 设置关机参数
  DWORD dwReserved
  // 系统保留字
  );
  examda提⽰: 设置uFlags的参数说明:
  EWX_FORCE 强制终⽌程序运⾏⽽退出系统
  EWX_LOGOFF 退出⽽以其它⾝份登录
  EWX_REBOOT 重新启动
  EWX_SHUTDOWN关机
  dwReserved是系统保留字,随便填⼊个0即可。
  了解ExitWindowsEx函数的使⽤格式后,下⾯以实例说明在C++ 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)
  {
  //重新启动
  DWORD temp;
  ExitWindowsEx(EWX_REBOOT,temp);
  }
  //------------------------------
  void __fastcall TForm1::Button4Click(TObject Sender)
  {
  //强制关机
  DWORD temp;
  ExitWindowsEx(EWX_FORCE,temp);
  }
  5.运⾏程序后,分别单击四个按钮测试它们的功能。如果能完成各种设置的功能,说明你已成功了,那么就可以将本⽂介绍的⽅法运⽤到⾃⼰开发的C++ Builder应⽤程序中去控制Windows的关闭了。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。