home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!utoday!jaflrn!jaf
- From: Jon Freivald <jaf@jaflrn.UUCP>
- Newsgroups: comp.lang.c
- Subject: Re: Routine to disable Ctrl-Alt-Del on PC
- Message-ID: <5ayiPB4w164w@jaflrn.UUCP>
- Date: Fri, 14 Aug 92 21:36:15 EDT
- References: <1992Aug13.032504.8555@cs.uow.edu.au>
- Organization: The Wizzard's Cave, East Meadow, NY
- Lines: 68
-
- u9035710@cs.uow.edu.au (Scott Anthony Barnett) writes:
-
- > Help !!
- >
- > I am after a little routine (either in C or inline assembler) to simply
- > disable the Ctrl-Alt-Del interrupt on an IBM PC.
- >
- > I am using Borland C++ v 3.0 (in standard ANSI C).
- >
- > Also, I would like to disable Ctrl-Break.
- >
- > Any help would be appreciated.
-
- I'm interested in the Ctrl-Alt-Del myself. As for the
- Ctrl-Break/Ctrl-C, the following works fine:
-
- #define CTRLC 0x23
- #define CTRLBRK 0x1B
-
- void interrupt break_handler ( void );
- void disable_ctrl_break ( void );
- void enable_ctrl_break ( void );
-
- void interrupt ( *original_ctrl_c_handler ) ( void );
- void interrupt ( *original_break_handler ) ( void );
-
- /============================================================================
-
- void interrupt break_handler ( void )
-
- {
- return; // do nothing - simply catching ctrl-c/ctrl-break
- }
-
- //===========================================================================
-
- void disable_ctrl_break ( void )
-
- {
- original_ctrl_c_handler = getvect ( CTRLC ); // get original vector address
- original_break_handler = getvect ( CTRLBRK );
- setvect ( CTRLC, break_handler ); // install our handler
- setvect ( CTRLBRK, break_handler );
- atexit ( enable_ctrl_break ); // insure original handler is reinstalled
- // no matter how or when we exit program
- return;
- }
-
- //===========================================================================
-
- void enable_ctrl_break ( void )
-
- {
- setvect ( CTRLC, original_ctrl_c_handler);
- setvect ( CTRLBRK, original_break_handler);
- return;
- }
-
- //===========================================================================
-
- Hope this helps...
-
- Jon
-
- =============================================================================
- Jon Freivald ( jaflrn!jaf@uunet.UU.NET )
- Nothing is impossible for the man who doesn't have to do it.
- =============================================================================
-