VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 在Visual Basic中终止Windows 9X
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:7194, 日期:2001-11-26
在Visual Basic中终止Windows 9X

  在Visual Basic程序中,可以使用Windows API函数来重新启动计算机系统,文本介绍如何退出Windows 9X并关闭计算机系统。
一、关闭计算机系统

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

Private Declare Function ExitWindowsEx Lib "user32" (ByVal
uFlags As Long, ByVal dwReserved As Long) As Long

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

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

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

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

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

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

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

二. 样例程序

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

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

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

Private Declare Function ExitWindowsEx Lib "user32" (ByVal
uFlags As Long, ByVal dwReserved As Long) As Long

Const EWX_LOGOFF = 0

Const EWX_SHUTDOWN = 1

Const EWX_REBOOT = 2

Const EWX_FORCE = 4

Const EWX_POWEROFF = 8

Const EWX_RESET = EWX_LOGOFF + EWX_FORCE + EWX_REBOOT


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

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

Private Sub Command1_Click()

Dim X As Long

X = ExitWindowsEx(EWX_RESET, dwReserved)

End Sub


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