用Delphi控制Windows的关闭功能
点击次数:50 次 发布日期:2008-11-09 08:37:54 作者:源代码网
|
源代码网推荐 源代码网推荐 对于以上功能,我们完全可以通过编程来实现,下面就以Delphi编程来完成。 源代码网推荐 源代码网推荐 关闭(或重启)Windows 源代码网推荐 源代码网推荐 要关闭Windows,可利用API函数ExitWindowsEx(),它能够实现“注销当前用户”、“关闭Windows”以及“关闭Windows并重启”等功能,具体格式和用法如下: 源代码网推荐 源代码网推荐 ExitWindowsEx(关闭类型参数,系统保留参数); 源代码网推荐 源代码网推荐 其中,系统保留参数无特定意义,一般写0即可;关闭类型可以是以下几种: 源代码网推荐 源代码网推荐 EWX_FORCE:强制关闭,Windows不会发送任何消息给正运行的程序,这可能导致数据丢失; 源代码网推荐 源代码网推荐 EWX_LOGOFF:关闭所有正在运行的程序,注销当前用户并重新登录; 源代码网推荐 源代码网推荐 EWX_POWEROFF:关闭Windows并关机,当然,系统必须支持电源管理; 源代码网推荐 源代码网推荐 EWX_REBOOT:关闭Windows并重新启动; 源代码网推荐 源代码网推荐 EWX_SHUTDOWN:关闭Windows,缓冲区内的数据将被写入磁盘。 源代码网推荐 源代码网推荐 我们来看一个实例,首先新建一窗体,在上面放置一组单选钮,命名为rgExit,共三个选项:注销当前用户并重新登录;关闭Windows并重新启动;关闭Windows。再放置两个按钮,Botton1用于确认,Botton2用于取消。代码如下: 源代码网推荐 源代码网推荐 Implementation 源代码网推荐 源代码网推荐 {$r *.dfm} 源代码网推荐 源代码网推荐 Procedure tform1.button1click(sender: tobject); 源代码网推荐 源代码网推荐 Begin 源代码网推荐 源代码网推荐 case rgexit.itemindex of 源代码网推荐 源代码网推荐 0: exitwindowsex(ewx_ 源代码网推荐 源代码网推荐 logoff,0); //注销当前用户并重新登录 源代码网推荐 源代码网推荐 1: exitwindowsex(ewx_reboot,0); //关闭Windows并重新启动 源代码网推荐 源代码网推荐 2: exitwindowsex(ewx_shutdown,0); //关闭Windows 源代码网推荐 源代码网推荐 end; 源代码网推荐 源代码网推荐 End; 源代码网推荐 源代码网推荐 Procedure tform1.button2click(sender: tobject); 源代码网推荐 源代码网推荐 Begin 源代码网推荐 源代码网推荐 close; 源代码网推荐 源代码网推荐 End; 源代码网推荐 源代码网推荐 防止关闭Windows 源代码网推荐 源代码网推荐 要实现“防止关闭Windows”这一功能其实很简单,只要在程序主窗体的OnCloseQuery事件中加入以下代码即可: 软件开发网 www.mscto.com 源代码网推荐 源代码网推荐 Procedure tform1.formclosequery(Sender: tobject; var canclose: Boolean); 源代码网推荐 源代码网推荐 Begin 源代码网推荐 源代码网推荐 If messagedlg("是否允许关闭?", mtconfirmation, mbokcancel, 0) = mrok then 源代码网推荐 源代码网推荐 Canclose := True 源代码网推荐 源代码网推荐 Else 源代码网推荐 源代码网推荐 Canclose := False; 源代码网推荐 源代码网推荐 End; 源代码网推荐 源代码网推荐 如果把CanClose设为False,表示不允许关闭Windows;如果CanClose设为True,则允许关闭。 源代码网推荐 源代码网供稿. |
