在Visual Basic程序中,可以使用Windows API函数来重新启动计算机
系统,文本介绍如何退出Windows 95并关闭计算机系统。
# 关闭计算机系统
可以使用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来运行上述样例程序,单击命令按钮,即可重新启动计算机系统。