Como reiniciar la PC desde el C++ Builder6

scarlet
15 de Septiembre del 2005
necesito reiniciar la PC desde el C++ Builder6, tambien se puede apagar, cerrar secion pero no encuentro la forma de hacerlo en la ayuda del programa ni utilizando las API de windows
si alguien puediera darme una explicacion de esto

xnomad
15 de Septiembre del 2005
Depende del sistema operativo que utilices. Si usas w9x/Me no tengo la mas remota idea. Si usas alguno de la familia NT entonces es muy facil, usa el commando shutdown de windows con la funcion del API de win32 :

WinExec( "shutdown <Parametros>", SW_SHOWNORMAL);

y los siguientes parametros.

En NT/2000:
SHUTDOWN [\Computer] [/L] [/A] [/R] [/T:xx] ["Msg"] [/Y] [/C]
Donde
\Computer : Apagas una computadora de la red remotamente.
/L : Apagas la computadora actual
"Msg" : Mensaje opcional a mostrar
/R : Apagar y rebootear
/T:xx :Timer de apagado en segundos, por default es 20s
/A : abortar el apagado dentro del tiempo del timer.
/Y : Contestar si a todas las preguntas
/C : Forzar las aplicaciones abiertas a cerrarse. (no graban)

En XP:
SHUTDOWN [opciones] [-m [\ComputerName]]
opciones
-M \Computer :Apagas una computadora de la red remotamente.
-L : logoff del usuario.
-c "Msg" : Mensaje opcional a mostrar
-S : Apagar
-R : Apagar y rebootear
-T:xx :Timer de apagado en segundos, por default es 20s
-A : abortar el apagado dentro del tiempo del timer.
-F : Forzar las aplicaciones abiertas a cerrarse. (no graban)


Por ejemplo,
WinExec( "shutdown -r -f ", SW_SHOWNORMAL);

Lograría el reinicio, cerrando todo.

Espero que te sirva.