Foros del Web » Programación para mayores de 30 ;) » Programación General »

Reiniciar ordenador

Estas en el tema de Reiniciar ordenador en el foro de Programación General en Foros del Web. Estoy haciendo una aplicacion la cual debe reinciar el ordenador en win XP, he utiliazado esto pero no funciona, alguien podria hecharme una mano??? Dim ...
  #1 (permalink)  
Antiguo 07/02/2004, 11:38
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
Reiniciar ordenador

Estoy haciendo una aplicacion la cual debe reinciar el ordenador en win XP, he utiliazado esto pero no funciona, alguien podria hecharme una mano???

Dim i As String
i = ws.LocalIP
i = "\\" & i
Call InitiateSystemShutdown(i, "Debe cerrar todos los programas", 30, True, True)

y en su correspondiente modulo sta la api:

Public Declare Function InitiateSystemShutdown Lib "advapi32.dll" Alias "InitiateSystemShutdownA" (ByVal lpMachineName As String, ByVal lpMessage As String, ByVal dwTimeout As Long, ByVal bForceAppsClosed As Long, ByVal bRebootAfterShutdown As Long) As Long 'APAGAR PC
  #2 (permalink)  
Antiguo 07/02/2004, 17:56
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 20 años, 5 meses
Puntos: 0
kakarot,

te paso un truco que tenía guardado hace mucho, es para W98 pero prueba a ver si te vale para XP:

******************************************
Con este truco podrás reiniciar, o cerrar Windows y apagar la máquina (si la fuente de alimentación es ATX y todo funciona bien) de forma totalmente automática. Lo único que tienes que hacer es crear un acceso directo o un archivo BATCH con una de las instrucciones que te pongo a continuación y llamarlo en el momento que consideres oportuno... por ejemplo, con el programador de tareas a una hora determinada, cuando tu monitor de temperatura detecte una situación peligrosa, o cuando termines de descargar ese pedazo de programa.
Para Windows 95 (y parece ser que para Windows 98 y Millenium)

RUNDLL.EXE USER.EXE,ExitWindows

Para Windows 98

Se puede usar una de estas dos instrucciones...

runonce.exe -q
rundll32.exe shell32.dll,SHExitWindowsEx <n>
Donde <n> puede ser uno de los siguientes números:

0 - LOGOFF
Se cierran todos los procesos y después se cierra la sesión del usuario
1- SHUTDOWN
Deja el sistema en un punto en el que sería seguro desconectar la alimentación. Todos los archivos son escritos en disco y cerrados, y todos los procesos son terminados
2 - REBOOT
Reproduce el proceso de SHUTDOWN y entonces reinicia el sistema
4 - FORCE
Fuerza la terminación de todos los procesos. Cuando se utiliza este valor Windows no pide a las aplicaciones que terminen de ejecutarse para poder cerrar el sistema. Esto puede causas perdidas de datos, así que este valor sólo debe usarse en casos de emergencia
8 - POWEROFF
Reproduce el proceso de SHUTDOWN y entonces desconecta la alimentación. El equipo debe soportar la característica de apagado automático (placa base y fuente ATX)
Los valores descritos arriba pueden combinarse para conseguir otros resultados. Por ejemplo, para reiniciar el sistema sin esperar el consentimiento de ninguna aplicación en ejecución se puede usar el valor 6 (2-REBOOT + 4-FORCE). De esta forma la instrucción quedaría así:

RUNDLL32.EXE SHELL32.DLL,SHExitWindowsEx 6

NOTAS:

La instrucción "rundll32.exe shell32.dll,SHExitWindowsEx <n>" puede ser llamada desde la clave del registro "RunOnce".
La instrucción "runonce.exe -q" reiniciará el sistema transcurridos 15 segundos desde su ejecución, no se pueden añadir otras opciones a la línea de comandos y no se puede llamar desde la clave del registro "RunOnce.
En el archivo ZIP tienes unos accesos directos con todas las posibilidades descritas.
******************************************

Por cierto, como va el tema del registro?

Saludos
Pablo
  #3 (permalink)  
Antiguo 08/02/2004, 06:38
 
Fecha de Ingreso: diciembre-2003
Mensajes: 288
Antigüedad: 20 años, 4 meses
Puntos: 0
Gracias ya lo probare, el tema del registro voy haciendo cunado tengo algo de tiempo q los cabrones de los examenes no me dejan respirar, aunque bueno yo sigo con lo mio, lo de la propuesta de unive q tal quedo?????????

Una pequeña cosilla cuando la ejecuto me pide un objeto, q sabes cual es???, pq dudo muxo q sea tan simple como
Dim objeto

GRACIAS

Última edición por kakarot; 08/02/2004 a las 06:51
  #4 (permalink)  
Antiguo 08/02/2004, 08:16
Avatar de pabli  
Fecha de Ingreso: octubre-2003
Mensajes: 381
Antigüedad: 20 años, 5 meses
Puntos: 0
No se si te refieres a cuando ejecutas el truco. Esto que te he mandado es para meterlo en un .BAT. No se si se puede ejecutar en código VB, imagino que con SHELL.

El proyecto de unive parece parado.

Saludos
Pablo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:00.