Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   Apagado de Windows (https://www.clubdelphi.com/foros/showthread.php?t=17162)

Enan0 27-12-2004 14:10:51

Apagado de Windows
 
Hola buenas. he tenido un problema con las siguientes instruciones y windows 2000.
cuando las ejecuto estoy logueado como administrador, pero en ninguna me apaga el PC, Solo Con EWX_FORCE me cierra la secion, pero nunca puedo apagar el pc, alguien sabe porque??

Gracias!

Código:

        ExitWindowsEx(EWX_SHUTDOWN,0);
        ExitWindowsEx(EWX_POWEROFF,0);
        ExitWindowsEx(EWX_FORCE,0);


barrauda 27-12-2004 18:23:35

aca te envío algo
 
Hola, no soy muy experto en este tema pero te envío un código que me sirvió mucho para apagar máquinas con Xp, no lo probé en 2000 pero puede ser que funcione.
Código:

function ShutDownWindows(Flag: word): Boolean;
 //Función que permite apagar la computadora
 var
  TokenPriv: TTokenPrivileges;
  H: DWord;
  HToken: THandle;
begin
   if Win32Platform = VER_PLATFORM_WIN32_NT then
 begin
      OpenProcessToken(GetCurrentProcess,
          TOKEN_ADJUST_PRIVILEGES,HToken);
      LookUpPrivilegeValue(NIL, 'SeShutdownPrivilege',
          TokenPriv.Privileges[0].Luid);
      TokenPriv.PrivilegeCount := 1;
      TokenPriv.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
      H := 0;
      AdjustTokenPrivileges(HToken, FALSE,
          TokenPriv, 0, PTokenPrivileges(NIL)^, H);
      CloseHandle(HToken);
    end;
  Result := ExitWindowsEx(Flag, 0);
end;

y para llamarlo tenés que escribir en la línea de código de algún botón (o lo que quieras) lo siguiente:


ShutDownWindows(EWX_POWEROFF);

Espero que te sirva, como te dije, yo lo uso siempre con máquinas con XP así que creo que te va a funcionar.
Nos vemos


La franja horaria es GMT +2. Ahora son las 07:12:06.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi