SoloCodigo

Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: crow7827 en Martes 21 de Septiembre de 2004, 21:07

Título: Ayuda De Codigo
Publicado por: crow7827 en Martes 21 de Septiembre de 2004, 21:07
Tengo el siguiente codigo executable que es utilizado para apagar un equipo:

Shell "rundll32.exe user.exe,ExitWindows"

pero el detalle es que no funciona en win xp

he pensado en utlizar el siguiente formato
Shell "rundll32.exe user.exe,shutdown"

Mucho les agradeceria si me ayudfaran con la duda
Título: Re: Ayuda De Codigo
Publicado por: Cyclop en Martes 21 de Septiembre de 2004, 21:18
uhmmm .... y esto funcionara?


Código: Text
  1. 'In general section
  2. Const EWX_LOGOFF = 0
  3. Const EWX_SHUTDOWN = 1
  4. Const EWX_REBOOT = 2
  5. Const EWX_FORCE = 4
  6. Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As Long
  7. Private Sub Form_Load()
  8.     'KPD-Team 1998
  9.     'URL: http://www.allapi.net/
  10.     'E-Mail: KPDTeam@Allapi.net
  11.     msg = MsgBox("This program is going to reboot your computer. Press OK to continue or Cancel to stop.", vbCritical + vbOKCancel + 256, App.Title)
  12.     If msg = vbCancel Then End
  13.     'reboot the computer
  14.     ret& = ExitWindowsEx(EWX_FORCE Or EWX_REBOOT, 0)
  15. End Sub
  16.  
  17.  


Salu2


Cyclop
Título: Re: Ayuda De Codigo
Publicado por: crow7827 en Viernes 24 de Septiembre de 2004, 19:12
probe tu codigo pero no funciona en sistemas operativos con Win Xp Pro, no si si fueras tan amable de proporcinarmelo de manera correcta.

De antemano muchas gracias
Saludos
Título: Re: Ayuda De Codigo
Publicado por: arielb en Viernes 24 de Septiembre de 2004, 20:05
k tal amigo esto lo encontré hace un par de días y de pronto te sirva en lo k necesitas, saludos.

Hay una API llamada ExitWindowsEx que sirve para reiniciar o apagar la máquina. Lo que no sé es si andará con XP. Es cuestión de probarla.

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


Parámetros

uFlags Uno o mas de los siguentes indicadores que indican como apagar o reiniciar el ordenador.:

EWX_LOGOFF = 0 Cierra la sesión de forma segura, cerrando los programas.

EWX_SHUTDOWN = 1 Cierra el sistema de forma segura, cerrando todos los programas.

EWX_REBOOT = 2 Realiza un reinicio completo del ordenador.

EWX_FORCE = 4 Fuerza el cierre de las aplicaciones sin preguntarle al usuario si quiere cerrarlo.

EWX_POWEROFF = 8 Cierra el sistema y si es posible apaga el ordenador.

dwReserved Reservado para futuras versiones de Windows. Poner siempre a 0.

Esta información fué extraída de http://www.silared.com/usuarios/vbasic/api...itWindowsEx.htm (http://www.silared.com/usuarios/vbasic/api/Funciones/ExitWindowsEx.htm)