CTRL-C in TP unterbinden

Hallo zusammen!

Ich suche eine Möglichkeit, das Abbrechen meines Turbo Pascal-Proggis mit CTRL-C unter DOS zu verhindern.
Weiß da wer was?

Nikolas

Hier eine UNIT:Unit CAD;

Interface

Uses Dos;

Var
Int9Handler : Pointer;

Procedure InterceptCtrlAltDel;
Procedure RestoreCAD;

Implementation

Procedure InterceptCtrlAltDel; Assembler;

Const
Ctrl = 4;
Alt = 8;
Del = $53;
KbdPort = $60; { Keyboard port }
KbdCtrlPort = $61; { Keyboard control port }
PIC = $20; { 8259 Interrupt controller }
EOI = $20; { end-of-interrupt }

Asm

PUSH AX
PUSH DS
MOV AX, SEG @Data
MOV DS, AX
STI
in AL, KbdPort
and AL, 01111111b
CMP AL, Del
JNE @2

@1 : MOV AH, 2 { BIOS Get keyboard flags service }
inT 16h
TEST AL, Ctrl + Alt
JNZ @3

@2 : PUSHF
CALL [Int9Handler]
JMP @4

@3 : in AL, KbdCtrlPort
MOV AH, AL
or AL, 10000000b
OUT KbdCtrlPort, AL
XCHG AH, AL
OUT KbdCtrlPort, AL
CLI

MOV AL, EOI
OUT PIC, AL
@4 : POP DS
POP AX
IRET { make sure we return correctly }
end; { InterceptCtrlAltDel }

Procedure RestoreCAD;

begin
SETinTVEC (9, Int9Handler);
end; { RestoreCAD }

begin
GETinTVEC (9, Int9Handler);
SETinTVEC (9, @InterceptCtrlAltDel);
end. {Unit CAD}

Glaub, es ging zwar auch einfacher, aber ich hab meine alten TP/BP-Sources grad nicht zur Hand

Es gibt da glaube ich eine Funktion die Breaks mit Ctrl-C an und ausschaltet.
Heisst irgendwie SetCBreak, musst mal sowas aehnliches in der Hilfe suchen.

Gruss
Mip

[…]

Asm

PUSH AX
PUSH DS
MOV AX, SEG @Data
MOV DS, AX
STI

[…]

Glaub, es ging zwar auch einfacher, aber
ich hab meine alten TP/BP-Sources grad
nicht zur Hand

Wär aber schön, weil ich nicht viel (besser gesagt nix) von Assembler verstehe…

Nikolas