[Back to INTERRUP SWAG index] [Back to Main SWAG index] [Original]
{
BRYCE OSTENSON
> I am looking for a way to diable the use of the control break and control
> alt delete features.
BTW: Simple concept... Here's how it works - When the program begins,
SavedInt23 is assigned to the original C-Break interrupt... When the
SetCtrlBreak procedure is called with Status equaling false, the C-Break
interrupt is assigned to a CBreakHandler which has no substance... Thus
when C-Break is called it does nothing. When SetCtrlBreak is called
with Status equaling false, Interrupt 23h is assigned to the default
C-Break handler.
}
UNIT TBUtil;
INTERFACE
Uses
Dos;
Var
SavedInt23 : Pointer;
CBreak : Boolean;
Procedure SetCtrlBreak(Status : Boolean);
Function GetCtrlBreak : Boolean;
IMPLEMENTATION
Procedure CBreakHandler; INTERRUPT;
Begin
End;
Procedure SetCtrlBreak(Status : Boolean);
Begin
If Status then
SetIntVec($23, SavedInt23);
Else
SetIntVec($23, @CBreakHandler);
CBreak := Status;
End;
Function GetCtrlBreak : Boolean;
Begin
GetCtrlBreak := CBreak;
End;
Begin
CBreak := True;
GetIntVec($23, SavedInt23); { Save the Ctrl-Break handler. }
End.
[Back to INTERRUP SWAG index] [Back to Main SWAG index] [Original]