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)
-   -   El ordenador no se apaga del todo con ExitWindowsEx() en Win2000 (https://www.clubdelphi.com/foros/showthread.php?t=10211)

aram2r 13-05-2004 08:29:41

El ordenador no se apaga del todo con ExitWindowsEx() en Win2000
 
Hola buenos dias mi problema es q los pc´s q apago desde delphi son modernos con fuente y placa ATX etc...pero al apagarlos con ExitWindowsEx() o con InitiateSystemShutdown()...se kedan en la pantallita de 'AHORA PUEDE APAGAR SU EQUIPO....etc'....estoy trabajando en win2000
A vosotros no os pasa?????


El codigo q utilizo es el siguiente:

Código Delphi [-]
function Tform1.CierraWindows(RebootParam: Longword): Boolean;
var
  TTokenHd: THandle;
  TTokenPvg: TTokenPrivileges;
  cbtpPrevious: DWORD;
  rTTokenPvg: TTokenPrivileges;
  pcbtpPreviousRequired: DWORD;
  tpResult: Boolean;
  const SE_SHUTDOWN_NAME = 'SeShutdownPrivilege';
begin
  if Win32Platform = VER_PLATFORM_WIN32_NT then
  begin
    tpResult := OpenProcessToken(GetCurrentProcess(),
    TOKEN_ADJUST_PRIVILEGES or TOKEN_QUERY,
    TTokenHd);
    if tpResult then
    begin
      tpResult := LookupPrivilegeValue(nil,
      SE_SHUTDOWN_NAME,
      TTokenPvg.Privileges[0].Luid);
      TTokenPvg.PrivilegeCount := 1;
      TTokenPvg.Privileges[0].Attributes := SE_PRIVILEGE_ENABLED;
      cbtpPrevious := SizeOf(rTTokenPvg);
      pcbtpPreviousRequired := 0;
      if tpResult then
        Windows.AdjustTokenPrivileges(TTokenHd,
        False,
        TTokenPvg,
        cbtpPrevious,
        rTTokenPvg,
        pcbtpPreviousRequired);
    end;
  end;
  Result := ExitWindowsEx(RebootParam, 0);
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
  CierraWindows(EWX_POWEROFF);
end;

Tambien he probado EWX_SHUTDOWN, EWX_EXFORCE..etc..etc


Gracias.

__cadetill 13-05-2004 09:42:34

Hola aram2r

Podrías editar tu mensaje y encerrar el código entre las etiquetas [ delphi ] y [ /delphi ] (sin espacios)?? Ah!! y ya puestos, indenta el código ;)

Es que se hace difícil seguir el código así

Gracias

aram2r 14-05-2004 08:51:42

Lo siento cadetill, nunca habia utilizado lo de las etiquetas...pero a partir de ahora tranki q ya las domino...gracias....a ver si me puedes echar una mano??

aram2r 18-05-2004 08:18:01

Hey
 
Hola alguien podria decirme si lo q me pasa es normal??? O alguien me puede pasar un codigo q funcione bien??? no kiero ser pesao pero esq me urge...gracias

edgwin 18-11-2008 18:39:38

Buenos dias amigos!

Visiten http://www.q3.nu/trucomania/ busquen el truco que se llama: "Salir de Windows".

Espero les sirva.
Saludos!


La franja horaria es GMT +2. Ahora son las 13:28:37.

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