Private Sub ArchCerrarSesion_Click()
If ExitWindowsEx(EWX_LOGOFF, 0) = 0 Then
MsgBox "No se puede reiniciar Windows"
End If
End Sub
Private Sub ArchEndWin_Click()
If ExitWindowsEx(EWX_SHUTDOWN, 0) = 0 Then
MsgBox "No se puede salir de Windows"
End If
End Sub
Private Sub ArchResetWin_Click()
If ExitWindowsEx(EWX_REBOOT, 0) = 0 Then
MsgBox "No se puede reiniciar el ordenador"
End If
End Sub
esto esta en un modulo
Option Explicit
'--------------------------------------------------
' ReIniWin (Reiniciar Windows) ( 8/Nov/95)
' (tengo una versión de Mayo'94)
'--------------------------------------------------
#If Win32 Then
'Para usar con ExitWindowsEx
Public Const EWX_LOGOFF = 0 'Termina la sesión actual
Public Const EWX_SHUTDOWN = 1 'Finaliza Windows
Public Const EWX_REBOOT = 2 'Reinicia el equipo
Public Const EWX_FORCE = 4 'Fuerza a terminar una aplicació que no responde
Public Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
'ExitWindows termina la sesión actual e inicia una nueva
'(es decir reiniciar windows)
' Public Declare Function ExitWindows Lib "user32" (ByVal dwReserved As Long, ByVal uReturnCode As Long) As Long
#Else
Public Declare Function ExitWindows Lib "user" (ByVal ReStartCode As Long, ByVal DosReturnCode As Integer) As Integer
#End If