{--------------------------------------------------------}
{
{    Ajuda para desligar o Windows
{    Autor: José Antonio Borges
{    Em 3/6/99
{
{--------------------------------------------------------}

{$M 16536,8192}
program desligaMaquina;
uses dvcrt, dvWin, dvMacro, winprocs, wintypes;

var
    s: string;
    y: integer;
    i, minutos, tempo, erro: integer;

const
    teclaMenuDesligar = 'R';
    teclaOpcao = 'D';

begin
    screensize.y := 5;
    writeln ('Programação de desligar');

    if paramCount > 0 then
        begin
            val (paramStr(1), tempo, erro);
            if erro <> 0 then
                begin
                    writeln ('Use: desliga tempoEmMinutos');
                    halt;
                end
            else
                writeln ('Desligando em ', tempo, ' minutos');
        end
    else
        begin
            write ('Daqui a quantos minutos: ');
            readln (tempo);
        end;

    showWindow (crtWindow, SW_MINIMIZE);

    for minutos := tempo-1 downto 0 do
      for i := 59 downto 0 do
        begin
            delay (1000);
            write (minutos, ':', i, '    ', #$0d);
        end;

    writeln;

    y := getSystemMetrics (SM_CYSCREEN) -1;
    mouseClick (20, y);    {aciona menu iniciar}
    delay (200);
    mouseClick (20, y-20);
    delay (200);

    keyboardClick (teclaMenuDesligar);
    delay (500);
    keyboardClick (teclaOpcao);
    delay (200);
    keyboardClick (ENTER);

    delay (15000);

    writeln ('Algum programa não pode ser automaticamente encerrado');
end.

