para 9x
'No módulo:
Public Declare Function ExitWindowsEx Lib "user32" _
Alias "ExitWindowsEx" (ByVal uFlags As Long, _
ByVal dwReserved As Long) As Long
Public Const EWX_LOGOFF As Long = 0 'Faz Logoff do usuário.
Public Const EWX_SHUTDOWN As Long = 1 'Desligar o computador.
Public Const EWX_REBOOT As Long = 2 'Reiniciar o computador.
Public Const EWX_FORCE As Long = 4 'Força a ação desejada.
'No evento que você desejar:
Dim RET as Long
'P/ fazer logoff do usuário:
RET = ExitWindowsEx(EWX_LOGOFF, 0)
'P/ desligar o computador:
RET = ExitWindowsEx(EWX_SHUTDOWN, 0)
'P/ reiniciar o computador
RET = ExitWindowsEx(EWX_REBOOT, 0)
'Se você quizer "forçar" a ação a ser executada, faça
'da seguinte maneira:
'P/ fazer logon com outro usuário:
RET = ExitWindowsEx(EWX_FORCE Or EWX_LOGOFF, 0)
'P/ desligar o computador:
RET = ExitWindowsEx(EWX_FORCE Or EWX_SHUTDOWN, 0)
'P/ reiniciar o computador
RET = ExitWindowsEx(EWX_FORCE Or EWX_REBOOT, 0)
'P/ reiniciar o computador
RET = ExitWindowsEx(EWX_FORCE Or EWX_REBOOT, 0)