Posted By: rk (Vesela kaminka) on 'CZprogram'
Title:     CTRL-ALT-DEL a CTRL-BREAK v jednom
Date:      Thu Jan 30 14:41:24 1997


uses Dos;

const Aktiv: Boolean = False;  {nemusi byt potreba, ale jistota je jistota}

var OldKeyb, Old1B: procedure;

procedure New1B;interrupt;
begin
  WriteLn ('Trhni si entrem.  (Ctrl-Break)');
end;

procedure NewKeyb;interrupt;
begin
if ((MEM[0:$417] and 12) = 12) and       {ctrl a alt}
    (PORT[$60] = 83)           and       {del}
    (AKTIV = False)            then
  begin
    Aktiv := True;
    WriteLn ('Trhni si mezernikem.  (Ctrl-Alt-Del)');
    asm
      Mov al,20h
      Out 20h,al
    end;
    Aktiv := False
  end else begin
    Inline ($9C);
    OldKeyb
  end
end;

procedure DoSomeStuff;
begin
  WriteLn ('Stiskni Enter');
  ReadLn;
end;

begin
  GetIntVec($09,@OldKeyb);
  GetIntVec($1B,@Old1B);
  SetIntVec($09,Addr(NewKeyb));
  SetIntVec($1B,Addr(New1B));

  DoSomeStuff;

  SetIntVec($09,Addr(OldKeyb));
  SetIntVec($1B,Addr(Old1B));
end.





vecne nespokojeny rk
-------------------------------------------------------------------------------
Where do foxes give Good night?

Search the boards