首页 | IT新闻 | 硬件 | 操作系统 | 开发 | 网络编程 | 数据库 | 热门框架 | 网络安全 | 组网 | 建站指南 | 网页制作 | 特效 | 实用技巧 | 服务器 | 办公 | QQ | 探索 | 社区

  • 技术部落
  • 部落首页 > 程序开发 > VB > 正文
  • 如何在VB中终止Windows系统
      2007-2-25  来源:网络资源  编辑:Jsbulo  热度:

      在VisualBasic程序中,可以使用WindowsAPI函数来重新启动计算机系统,文本介绍如何退出Windows并关闭计算机系统。

      关闭计算机系统

      可以使用WindowsAPI的ExitWindowsEx函数来从VisualBasic程序中重新启动计算机系统。要使用该函数,需要将如下声明语句包含在窗体的通常声明部分中:

      PrivateDeclareFunctionExitWindowsExLib"user32"(ByValuFlagsAsLong,ByValdwReservedAsLong)AsLong

      ExitWindowsEx函数需要2个参数,可以使用一个或多个下面的标识的组合来告诉ExitWindowsEx函数希望进行关机过程。

      EWX_FORCE所有的进程都被强制终止。

      EWX_LOGOFF所有的进程被强制终止,并且用户退出登录(loggedoff)。

      EWX_POWEROFF计算机系统被关机,并且如果支持节电特性,则计算机被物理关机。

      EWX_REBOOT计算机系统被关机并重新启动。

      EWX_SHUTDOWN计算机被物理地安全地关机。

      下面的样例程序中使用了上面的三个标识的组合。该标识组合(EWX_LOGOFF,EWX_FORCE,以及EWX_REBOOT)告诉Windows退出所有正在执行的进程,使用户退出网络登录,使计算机系统处于准备状态以供用户关机。

      样例程序

      该样例程序显示了如何关闭计算机系统。

      1.在VisualBasic中开始一个新的项目,采用缺省的方法建立Form1。

      2.将如下常量和声明语句添加到Form1的通常声明部分中(注意该声明语句需要书写在一行内):

    PrivateDeclareFunctionExitWindowsExLib"user32"
    (ByValuFlagsAsLong,ByValdwReservedAsLong)AsLong
    ConstEWX_LOGOFF=0
    ConstEWX_SHUTDOWN=1
    ConstEWX_REBOOT=2
    ConstEWX_FORCE=4
    ConstEWX_POWEROFF=8
    ConstEWX_RESET=EWX_LOGOFF EWX_FORCE EWX_REBOOT

      3.在Form1上添加一个命令按钮控件,采用缺省的方法建立Comand1。将它的Caption属性设置为“重新启动计算机”。

      4.将如下代码添加到Command1的单击事件中:

    PrivateSubCommand1_Click()
    DimXAsLong
    X=ExitWindowsEx(EWX_RESET,dwReserved)
    EndSub

      按下F5来运行上述样例程序,单击命令按钮,即可重新启动计算机系统。