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?