Colabora
 

Apagar o Reiniciar el Equipo en Win XP y Anteriores con VB6

Ejemplo de Visual Basic 6.0 aplicado para Win 98, 2000, XP

 

Fecha: 06/Feb/2011 (07-09-10)
Autor: Yuri Alexander - ganir22_@hotmail.com

 


Introducción

Este ejemplo se dió por la necesidad de apagar un equipo con S.O. Win XP, y como el API ExitWindowsEx sólo me aceptaba el reinicio del equipo, me hizo buscar y buscar llegando al siguiente resultado Shell "shutdown -r -f -t 0" para Reiniciar y Shell "shutdown -s -t 0" para apagar.

El código:

Bién ahora abrimos un Form e insertamos un CommandButton con index 0, 1 y 2, debe quedar así:

Command1(0).Caption = "Cerrar Sesión"
Command1(1).Caption = "Reiniciar"
Command1(2).Caption = "Apagar"

FORM1:

Option Explicit
'Control de Apagar, Cerrar Session, reiniciar
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

Private Sub Command1_Click(Index As Integer)
    Select Case Index
        Case 0 'Cerrar Session
            ExitWindowsEx EWX_LOGOFF, 0 'Cierra sesión en Win 98, 2000, XP
        Case 1 'Reiniciar PC
            ExitWindowsEx EWX_REBOOT, 0 'Reinicia el Sistema
            Shell "shutdown -r -f -t 0" 'Reinicia el equipo en Win XP
        Case 2 'Apagar PC
            ExitWindowsEx EWX_SHUTDOWN, 0 'Apaga el equipo en Win 98, 2000
            Shell "shutdown -s -t 0" 'Apaga el equipo en Win XP
    End Select
End Sub

 

Bien eso fue todo espero que les sirva.

Saludos



Compromiso del autor del artículo con el sitio del Guille:

Lo comentado en este artículo está probado (y funciona) con la siguiente configuración:

El autor se compromete personalmente de que lo expuesto en este artículo es cierto y lo ha comprobado usando la configuración indicada anteriormente.

En cualquier caso, el Guille no se responsabiliza del contenido de este artículo.

Si encuentras alguna errata o fallo en algún link (enlace), por favor comunícalo usando este link:

Gracias.



Ir al índice principal de el Guille