中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > C/C++
C++中控制Windows关机的实用技巧
作者:佚名 时间:2006-10-04 12:09 出处:rayoko  责编:月夜寒箫
              摘要:C++中控制Windows关机的实用技巧

我们在应用程序编制完成后,需要设计应用程序的包装和分发功能。在编写安装程序时,经常会遇到这样的问题:程序安装完成后需要重新启动计算机。那么在代码中如何控制Windows的关机或重新启动呢?

 要实现这个功能,需要用到Windows API提供的一个ExitWindowsEx函数。我们可以通过查看C++ Builder提供的帮助文件得到这个函数的使用格式:
 

BOOL ExitWindowsEx(   

UINT uFlags,   

// 设置关机参数   

DWORD dwReserved   

// 系统保留字   

);   

设置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的关闭了。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有