home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 8
/
CDASC08.ISO
/
NEWS
/
554
/
JUIN
/
NOBOOT.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1993-10-07
|
2KB
|
51 lines
{─ Fido Pascal Conference ────────────────────────────────────────────── PASCAL ─
Msg : 450 of 474
From : Per-Eric Larsson 2:203/410.15 25 Jun 93 13:00
To : Danny Melton 1:2210/8330.0
Subj : disabling the CTRL-ALT-DE
────────────────────────────────────────────────────────────────────────────────
Monday June 21 1993 01:35, Danny Melton wrote to Bradley Wayth:
DM> If you want to disable CTRL-ALT-DEL, there's an easy way to do it. You
DM> need to write an interrupt service routine which ties into the keyboard
DM> interrupt (09h). Read the key from the keyboard; if it the delete key
DM> and both the CTRL and ALT keys have been pressed, change the shift
DM> status byte in BIOS RAM to get rid of the CTRL and ALT. Then allow the
DM> DELETE key to be processed by the rest of the interrupt handler. When
DM> the rest of the keyboard handler is finished, restore the original shift
DM> status in BIOS RAM and return from the hardware interrupt.
--------------------------------}
{$A+,B-,D-,E-,F-,G-,I-,L-,N-,O-,P-,Q-,R-,S-,T-,V-,X-,Y-}
{$M $800,0,0}
program noboot;
uses Crt, Dos;
var
KbdIntVec : Procedure;
{$F+}
procedure Keyclick; interrupt;
var
b:byte;
x,y:byte;
begin
b:=Port[$60];
if b = 83 then IF (mem[$40:$17] and $0C) = $0c then begin
x:=wherex;
y:=wherey;
gotoxy(4,4); Write('╔═════════════════╗');
gotoxy(4,5); Write('║ boot ? Ledsen ! ║');
gotoxy(4,6); Write('╚═════════════════╝');
gotoxy(x,y);
mem[$40:$17]:=mem[$40:$17] and $F3;
end;
inline ($9C);
KbdIntVec;
end;
{$F-}
begin
GetIntVec($9,@KbdIntVec);
SetIntVec($9,Addr(Keyclick));
Writeln('NoBoot - Sätter Ctrl-Alt-Del ur Funktion');
Writeln('Copyright PEL-Data, Borås 1993');
Keep(0);
end.