【声明】 Private Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long 【说明】 退出windows,并用特定的选项重新启动 【返回值】 Long,非零表示成功,零表示失败。会设置GetLastError 【参数表】 uFlags --------- Long,指定下述一个或多个标志(用OR运算符合并到一起) EWX_FORCE 强迫中止没有响应的进程 EWX_LOGOFF 中止进程,然后注销 EWX_SHUTDOWN 关掉系统电源(如果可能的话,ATX电源就可以) EWX_REBOOT 重新引导系统 EWX_SHUTDOWN 关闭系统 dwReserved ----- Long,保留,设为零 【其它】 这个函数调用后会立刻返回,系统关闭过程是在后台进行的。注意先中止自己的应用程序,使关闭过程更显平顺。当然,您的进程必须有足够的优先权,否则也不能执行这种操作
'reboot computer Public Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long Public Const EWX_FORCE = 4 Public Const EWX_LOGOFF = 0 Public Const EWX_REBOOT = 2 Public Const EWX_SHUTDOWN = 1 Public Sub ShutDown(Status As String) 'On Error Resume Next Dim Ret As Long Select Case Status Case "SHUTDOWN" Ret = ExitWindowsEx((EWX_SHUTDOWN Or EWX_FORCE), &HFFFF) Case "REBOOT" Ret = ExitWindowsEx((EWX_SHUTDOWN Or EWX_FORCE Or EWX_REBOOT), &HFFFF) Case "LOGOFF" Ret = ExitWindowsEx(EWX_FORCE Or EWX_LOGOFF, 0) Case "FORCE" Ret = ExitWindowsEx(EWX_FORCE, 0) End Select End Sub
Private Declare Function ExitWindowsEx Lib "user32" Alias "ExitWindowsEx" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
【说明】
退出windows,并用特定的选项重新启动
【返回值】
Long,非零表示成功,零表示失败。会设置GetLastError
【参数表】
uFlags --------- Long,指定下述一个或多个标志(用OR运算符合并到一起)
EWX_FORCE
强迫中止没有响应的进程
EWX_LOGOFF
中止进程,然后注销
EWX_SHUTDOWN
关掉系统电源(如果可能的话,ATX电源就可以)
EWX_REBOOT
重新引导系统
EWX_SHUTDOWN
关闭系统 dwReserved ----- Long,保留,设为零
【其它】
这个函数调用后会立刻返回,系统关闭过程是在后台进行的。注意先中止自己的应用程序,使关闭过程更显平顺。当然,您的进程必须有足够的优先权,否则也不能执行这种操作
Public Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Public Const EWX_FORCE = 4
Public Const EWX_LOGOFF = 0
Public Const EWX_REBOOT = 2
Public Const EWX_SHUTDOWN = 1
Public Sub ShutDown(Status As String)
'On Error Resume Next
Dim Ret As Long
Select Case Status
Case "SHUTDOWN"
Ret = ExitWindowsEx((EWX_SHUTDOWN Or EWX_FORCE), &HFFFF)
Case "REBOOT"
Ret = ExitWindowsEx((EWX_SHUTDOWN Or EWX_FORCE Or EWX_REBOOT), &HFFFF)
Case "LOGOFF"
Ret = ExitWindowsEx(EWX_FORCE Or EWX_LOGOFF, 0)
Case "FORCE"
Ret = ExitWindowsEx(EWX_FORCE, 0)
End Select
End Sub