linux初探

首页

应用服务器

Linux技巧

中文文档

Linux初级

服务器源代码

命令详解

Linux技术应用

Linux安全应用

Linux业界新闻

UniX技术文章

Linux编程与内核

Linux数据库

Linux服务器

Linux安装指导

Linux论坛


首页>>Linux编程与内核>>

热门文章

·C/C++中多维数组指针作为函数
·教你如何使用 C++Builder 制
·C++ Builder中保持控件的位置
·C++Builder中动态更改自定义
·拓展网页技术之C++在网页设计
·C++Builder创建基于Internet
·C++Builder在WIN2000环境下编
·用C++ Builder为计算机增加启
·C++/VC++ 语言编程的疑难问题
·C/C++语言void及void指针深层

推荐文章

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

相关文章:

·在C++程序中导出Word文档的方法
·C++中用函数模板实现和优化抽象操作
·C和C++里面的lvalue 和 rvalue的释义
·C++对象布局及多态实现之动态和强制转换
·C++类对象的深拷贝、浅拷贝构造函数
·c/c++数组排序、计算平均值、最大、小值
·C/C++语言void及void指针深层探索
·C++/VC++ 语言编程的疑难问题及解答
·用C++ Builder为计算机增加启动日志

Copyright@2005 www.linuxGoo.com All Right Reserved