Les comparto esta simple aplicación cuyas funciones están expliciitadas en el título. 
Les ahorro el trabajo a los usuarios que tienen conocimientos básicos de Borland Delphi (objetc Pascal), (entre los que me incluyo), y necesitan tener en una sola aplicación dichas funciones para fines distintos. 
(Hubo un tiempo en que las busqué con mucha insistencia en internet). 
Las extraje del Rat Coolvibes hecho por ex usuarios de este foro, profesionales de la programación. 
He probado esta aplicación en Windows 10 Home y funciona perfectamente.
Les comparto también el proyecto compilado.

Imagen




Imagen
Imagen
Imagen


Código fuente (unit.pas):

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}
procedure ObtenerPrivilegioDeApagado();
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;
end;


procedure TForm1.Button1Click(Sender: TObject);
begin
 
//apagar
            ObtenerPrivilegioDeApagado();
            ExitWindowsEx(EWX_SHUTDOWN+EWX_FORCE,0);
end;


procedure TForm1.Button2Click(Sender: TObject);
begin

//reiniciar
            ObtenerPrivilegioDeReinicio();
            ExitWindowsEx(EWX_REBOOT+EWX_FORCE,0);

end;
end.

//Còdigo extraìdo del rat Coolvibes de Indetectables.net

Enlace de descarga al código fuente y al binario:

[Enlace externo eliminado para invitados]



 
Imagen
Imagen
Responder

Volver a “Fuentes”