SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: camaleon en Domingo 3 de Noviembre de 2002, 23:34

Título: Re: Apagar El ordenador con un programa en C
Publicado por: camaleon en Domingo 3 de Noviembre de 2002, 23:34
Hola quetal me gustaria saber como le puedo hacer para crear un programa en C o C++ que me permita apagar la computadora solo dandole un  tiempo en el programa
Título: Re: Apagar El ordenador con un programa en C
Publicado por: Pope en Viernes 8 de Noviembre de 2002, 00:06
Este es el codigo pa apagar el pc , pero esta sacado del visual c++, no se si valdra pa otros compiladores

#include <windows.h>

BOOL Apagar()
{
   HANDLE hToken;
   TOKEN_PRIVILEGES tkp;
 
   if (!OpenProcessToken
GetCurrentProcess(),
        TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken))
      return( FALSE );
 
 
   LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,
        &tkp.Privileges[0].Luid);
 
   tkp.PrivilegeCount = 1;  

   tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
 
   
   AdjustTokenPrivileges(hToken, FALSE, &tkp, 0,
        (PTOKEN_PRIVILEGES)NULL, 0);
 
   if (GetLastError() != ERROR_SUCCESS)
      return FALSE;

 
   if (!ExitWindowsEx(EWX_SHUTDOWN | EWX_FORCE, 0))
      return FALSE;

   return TRUE;
}
Título: Re: Apagar El ordenador con un programa en C
Publicado por: Maxier en Sábado 7 de Diciembre de 2002, 17:04
Hola pope, vi tu respuesta y mi pregunta es ...sirve para LInux ? o solo para Windows

Gracias

Maxier
Título: Apagar El ordenador con un programa en C
Publicado por: JuanK en Viernes 24 de Enero de 2003, 21:49
bueno, yo no hice el programa que hizo pope, pero te cuento que tiene funciones que invocan la API de windows , asi que no te va a funcionar en linux  :(
Título: Re: Apagar El ordenador con un programa en C
Publicado por: ymabreu en Jueves 22 de Mayo de 2008, 02:48
Cita de: "Pope"
Este es el codigo pa apagar el pc , pero esta sacado del visual c++, no se si valdra pa otros compiladores

#include <windows.h>

BOOL Apagar()
{
....  
 
Hola.
Quisiera hacer esto en C++.net 2005. He utilizado la opción de crear un programa ANCI  C++ pero no encuentro el include windows.h... alguna sugerencia?
Título: Re: Apagar El ordenador con un programa en C
Publicado por: Eternal Idol en Jueves 22 de Mayo de 2008, 08:10
Cita de: "ymabreu"
Cita de: "Pope"
Este es el codigo pa apagar el pc , pero esta sacado del visual c++, no se si valdra pa otros compiladores

#include <windows.h>

BOOL Apagar()
{
.... 
 
Hola.
Quisiera hacer esto en C++.net 2005. He utilizado la opción de crear un programa ANCI  C++ pero no encuentro el include windows.h... alguna sugerencia?
¿Es la version Express por casualidad?
Título: Re: Apagar El ordenador con un programa en C
Publicado por: ymabreu en Jueves 22 de Mayo de 2008, 22:54
Cita de: "Eternal Idol"
¿Es la versión Express por casualidad?
No hay casualidad esa misma es: Visual C++.net 2005 Express.
Tiene solución el problema bajo las condiciones planteadas?
Título: Re: Apagar El ordenador con un programa en C
Publicado por: Eternal Idol en Jueves 22 de Mayo de 2008, 22:56
Esa version no trae el SDK, aca tenes la solucion:

How to: Use Visual C++ Express Edition with the Microsoft Platform SDK (http://msdn.microsoft.com/en-us/library/ms235626(VS.80).aspx).
Título: Re: Apagar El ordenador con un programa en C
Publicado por: Geo en Viernes 23 de Mayo de 2008, 01:07
También puedes descargar la versión 2008, la cual si incluye el SDK.