如何在Visual Basic中终止Windows系统


  在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来运行上述样例程序,单击命令按钮,即可再一次启动计算机系统 。