[Back to KEYBOARD SWAG index] [Back to Main SWAG index] [Original]
{
-> I'm having alot of trouble trying to stop people breaking out of my
-> programs. I've been trying to figure out how to stop the
-> <ctrl>-<break>, <ctrl>-<c> , but with no luck... Can't seem to find
-> anything in the help menu's....
-> ---
If you are using CRT, use CHECKBREAK:=FALSE. Also, you can disble it
permenantly like this:
}
Program TTXBREAK_Which_Means_TobinTech_ControlBreak_Disabler_Program;
Uses DOS,CRT;
{$M 2000,0,0}
{$R-,S-,I-,F+,V-,B-}
Const ControlCInt=$23;
ControlBreakInt=$1B;
Var
OldControlCVec:Pointer;
OldControlBreakVec:Pointer;
Procedure STI;
Inline($FB);
Procedure CLI;
Inline($FA);
Procedure CallOldInt(Sub:Pointer);
begin
Inline($9C/ { PUSHF }
$FF/$5E/$06);
end;
Procedure BlockInterrupt; Interrupt;
{BlockInterrupt is a generic procedure for blocking an interrupt}
begin
STI;
end;
begin
Writeln('TobinTech Control-C disable program ');
GetIntVec(ControlCInt, OldControlCVec);
SetIntVec(ControlCInt, @BlockInterrupt);
Writeln(' > CONTROL-C disabled. ');
GetIntVec(ControlBreakInt, OldControlBreakVec);
SetIntVec(ControlBreakInt, @BlockInterrupt);
Writeln(' > CONTROL-BREAK disabled. ');
Writeln(' Terminating, but Staying Resident in memory...');
Keep(0);
End.
[Back to KEYBOARD SWAG index] [Back to Main SWAG index] [Original]