Visual Basic - Cómo @#~""!! apagar el sistema desde una aplicació

Life is soft - evento anual de software empresarial
 
Vista:

Cómo @#~""!! apagar el sistema desde una aplicació

Publicado por ALRAZ (2 intervenciones) el 25/03/2001 07:52:16
Alguien sabe de alguna isntrucción u OCX que sirva para apagar un sistema ATX?

es decir, como aquellas aplicaciones de Download que apagan el sistema cuando terminan la descarga
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Apagar el Pc

Publicado por Francisco Rossi (Stone Cold) (15 intervenciones) el 25/03/2001 21:56:40
Hola, esto es muy sencillo

Crea un modulo y copia lo siguiente

Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long

Public Const APAGAR = 1

LUEGO UN EL FORMULARIO CREA UN BOTON Y COLOCALE ESTE CODIGO.

ret = ExitWindowsEx(EWX_SHUTDOWN, 0)

Si alguien tiene alguna duda de cualquier cosa envienme un mail y hare lo posible por contestar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Cómo @#~

Publicado por Juan Ramón (20 intervenciones) el 26/03/2001 01:12:02
Por ahí encontré algo hace unos días en el foro, te lo envio tal cual lo copié (disculpas al autor):

El código es el siguiente:
A nivel de módulo las siguientes declaraciones:
Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
Public Const EWX_LOGOFF = 0
Public Const EWX_SHUTDOWN = 1
Public Const EWX_REBOOT = 2
Public Const EWX_FORCE = 4
Yo he creado un formulario con cuatro botones, el código es el siguiente:
Private Sub cmdLogOff_Click()
´Arranca con otro usuario reiniciando los programas del menu de inicio
ret = ExitWindowsEx(EWX_LOGOFF, 0)
End Sub
Private Sub cmdReboot_Click()
´Reinicia el ordenador
ret = ExitWindowsEx(EWX_REBOOT, 0)
End Sub
Private Sub cmdRestart_Click()
´Cambia el usuario sin reiniciar programas
ret = ExitWindowsEx(EWX_FORCE, 0)
End Sub
Private Sub cmdShutDown_Click()
´Apaga el ordenador
ret = ExitWindowsEx(EWX_SHUTDOWN, 0)
End Sub
Nota: Este código lo único que hace es apagar o reiniciar el ordenador, sería conveniente antes de hacer esto crear una función que cierre todas las aplicaciones abiertas, ya que esto no se hace por si solo, y por ejemplo yo he hecho pruebas y como tengo el Explorer 4.0 con el Active Desktop cada vez que reinicio o apago el ordenado al volver me dice que hay que restaurar el Escritorio.

J. Ramón
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Err...

Publicado por ALRAZ (2 intervenciones) el 26/03/2001 04:59:57
^_^"
Cómo cierro las demas aplicaciones abiertas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Err...

Publicado por Juan Ramon Tello (20 intervenciones) el 27/03/2001 06:08:21
Prueba lo siguiente..........


'Procedimiento que apaga el sistema operativo
Public Sub ApagarSistema()
Shell ("C:\WINDOWS\rundll32.exe shell32.dll,SHExitWindowsEx 0x1")
End Sub

'Procedimiento que reinicia el sistema operativo
Public Sub ReiniciarSistema()
Shell ("C:\WINDOWS\rundll32.exe shell32.dll,SHExitWindowsEx 0x2")
End Sub

'Procedimiento que cierra la sesión actual de windows
Public Sub CerrarSesion()
Shell ("C:\WINDOWS\rundll32.exe shell32.dll,SHExitWindowsEx 0x0")
End Sub

Me cuenta !!!

J. Ramón
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Err...

Publicado por Juan Ramon Tello (20 intervenciones) el 27/03/2001 06:12:54
Prueba lo siguiente..........


'Procedimiento que apaga el sistema operativo
Public Sub ApagarSistema()
Shell ("C:\WINDOWS\rundll32.exe shell32.dll,SHExitWindowsEx 0x1")
End Sub

'Procedimiento que reinicia el sistema operativo
Public Sub ReiniciarSistema()
Shell ("C:\WINDOWS\rundll32.exe shell32.dll,SHExitWindowsEx 0x2")
End Sub

'Procedimiento que cierra la sesión actual de windows
Public Sub CerrarSesion()
Shell ("C:\WINDOWS\rundll32.exe shell32.dll,SHExitWindowsEx 0x0")
End Sub

Me cuenta !!!

J. Ramón
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar