program CtrlBreakControl;{$A+,B-,E-,F-,G+,N+,O-,P+,T-,V-,X+}
{$D-,I-,L-,Q-,R-,S-,Y-}
{$M 65520,0,655360}
uses
Dos;
const
BreakFlag:Boolean=False;
var
SaveCtrlBreakInterrupt:procedure;
procedure BreakHandler;interrupt;
begin
BreakFlag:=True;
end;
begin
GetIntVec($1B,@SaveCtrlBreakInterrupt);
SetIntVec($1B,@BreakHandler);
WriteLn('Press Ctrl-Break to exit');
repeat
until BreakFlag;
WriteLn('You have pressed Ctrl-Break');
ReadLn;
SetIntVec($1B,@SaveCtrlBreakInterrupt);
end.