[comp.binaries.ibm.pc.d] Control-C blocker needed

morgan@chaos.cs.brandeis.edu (Dylan Kaufman) (06/08/91)

Hi,

I am looking for something (probably a device driver) which will let
me completely block out Ctrl-C and Ctrl-Break during execution of the
AUTOEXEC.BAT file at boot-up.

I am running DOS3.2 at the moment, but I think I need it to work on
3.2, 3.3, 4.0, and 5.0, and I don't know of anything in DOS itself
that will let me do that... 

Any help would be appreciated... please send me email, and I will post
a summary to the net when I have some working answers....

Thanks,
--
-<>Dylan<>-                     MA EMT-M, CA EMT-1A, BEMCo 107
Dylan Kaufman 			Major in Computer Science
morgan@chaos.cs.brandeis.edu	Brandeis University, Waltham, MA
------<< Support your local Emergency Medical Services >>-------
"We are the Priests, of the Temples of Syrinx" - 2112, RUSH

max@gupta.portal.com (Max Rochlin) (06/11/91)

In article <MORGAN.91Jun7140438@chaos.cs.brandeis.edu> morgan@chaos.cs.brandeis.edu (Dylan Kaufman) writes:
>Hi,
>
>I am looking for something (probably a device driver) which will let
>me completely block out Ctrl-C and Ctrl-Break during execution of the
>AUTOEXEC.BAT file at boot-up.

Try making the first line of your autoexec.bat  BREAK OFF  
it's the simplest approach.  

-- 

  +------------------------------------------------------------------------+
  |     max@gupta.com      |     Max J. Rochlin     |   decwrl!madmax!max  | 
  +------------------------+------------------------+----------------------+

callawaycj@EA.USL.EDU (C.JamesCallaway) (06/15/91)

In article <1991Jun11.151950.2097@gupta.portal.com>, max@gupta.portal.com (Max Rochlin) writes:
>In article <MORGAN.91Jun7140438@chaos.cs.brandeis.edu> morgan@chaos.cs.brandeis.edu (Dylan Kaufman) writes:
>>
>>which will let
>>me completely block out Ctrl-C and Ctrl-Break during execution of the
>>AUTOEXEC.BAT
>
>Try making the first line of your autoexec.bat  BREAK OFF  


The BREAK Command Is Used To Control The Frequency That MS-DOS Checks For The
<CTRL-C>  Or <CTRL-Break> Combinations.  The Command BREAK OFF Directs MS-DOS
To Check For The Key Combinations Only During Input And Output Operations.

BREAK ON Will Allow MS-DOS To Check Whenever A Call Is Made To The Operating 
System's Service Functions.

So In This Case BREAK OFF Will Not Give The Results Asked.

An ISR Device Driver That Intercepts INT09h(BIOS Keyboard Handler) Or
INT1Bh(BIOS CtrlBRK) Or INT23h(BIOS CtrlC Handler), Might Do The Trick.


Let Me Know If You Find Something. Maybe I Could Use It, Too.

--

###############################################################################
#  C.JamesCallaway!  # CALLAWAYCJ@EA.USL.EDU |     FUTURE iMAGE SoftWorks!    #
# USL P.O. Box 41353 #--------------------------------------------------------#
#Lafayette, La 70504 # A Man Can Only Find Peace Within Himself...If He Looks!#
###############################################################################

act@softserver.canberra.edu.au (Andrew Turner) (06/17/91)

In article <0094A28F.A230B060@EA.USL.EDU> callawaycj@EA.USL.EDU (C.JamesCallaway) writes:
>In article <1991Jun11.151950.2097@gupta.portal.com>, max@gupta.portal.com (Max Rochlin) writes:
>>In article <MORGAN.91Jun7140438@chaos.cs.brandeis.edu> morgan@chaos.cs.brandeis.edu (Dylan Kaufman) writes:
>>>
>>>which will let
>>>me completely block out Ctrl-C and Ctrl-Break during execution of the
>>>AUTOEXEC.BAT
>>
>>Try making the first line of your autoexec.bat  BREAK OFF  
>
>
>
>So In This Case BREAK OFF Will Not Give The Results Asked.
>
>An ISR Device Driver That Intercepts INT09h(BIOS Keyboard Handler) Or
>INT1Bh(BIOS CtrlBRK) Or INT23h(BIOS CtrlC Handler), Might Do The Trick.
>
Try looking at the index of Simtel-20's PD1:<MSDOS.KEYBOARD>.  You will find
a number of utilities that should solve your problem. CADEL for one.

To minimise the possibility of a user CTRL-C'ing as AUTOEXEC.BAT is executed
try:

	@ECHO OFF
	CTTY NUL
	CADEL ....(or whatever CTRL-C handler you choose)
	CTTY CON:
	.
	.

CCTY NUL negates keyboard input - Read your MSDOS manual.
-- 
 Andrew Turner  act@csc.canberra.edu.au
	Die, v:	To stop sinning suddenly.
			-- Elbert Hubbard

lro@melb.bull.oz.au (Liam Routt) (06/17/91)

callawaycj@EA.USL.EDU (C.JamesCallaway) writes:
>In article <1991Jun11.151950.2097@gupta.portal.com>, max@gupta.portal.com (Max Rochlin) writes:
>>In article <MORGAN.91Jun7140438@chaos.cs.brandeis.edu>
	morgan@chaos.cs.brandeis.edu (Dylan Kaufman) writes:
>>>let
>>>me completely block out Ctrl-C and Ctrl-Break during execution of the
>>>AUTOEXEC.BAT
>
>An ISR Device Driver That Intercepts INT09h(BIOS Keyboard Handler) Or
>INT1Bh(BIOS CtrlBRK) Or INT23h(BIOS CtrlC Handler), Might Do The Trick.
>
>Let Me Know If You Find Something. Maybe I Could Use It, Too.
>#  C.JamesCallaway!  # CALLAWAYCJ@EA.USL.EDU |    FUTURE iMAGE SoftWorks!    #

	MS-DOS 5.0 allows you to define your own Control-C handler.  It will
be used to handle all Control-Cs detected (while other methods in earlier
versions might not have worked 100% of the time).  The interrupt it 23h.  The
vector is now saved in the PSP of a program, so the vector table entry can be
changed, but the parent program will have its handler restored on exit.
	Incidently the same is true for the Critical Error Handler (int 24h)
under MS-DOS 5.0. (the CEH is the one that gives the Abort Retry Fail messages
all the time!).
	This is all only true under MS-DOS 5.0, though, so it will not work
with the 3.3 versions I think the original poster was concerned about
supporting (unless they upgrade :-) ).

						Liam Routt
	"Murder by Pirates is Good!"		Senior Software Engineer
		- The Princess Bride		Bull Information Systems
						Melbourne Australia

rennyk@apex.com (Renny K) (06/17/91)

In article <0094A28F.A230B060@EA.USL.EDU> callawaycj@EA.USL.EDU (C.JamesCallaway) writes:
>In article <1991Jun11.151950.2097@gupta.portal.com>, max@gupta.portal.com (Max Rochlin) writes:
>>In article <MORGAN.91Jun7140438@chaos.cs.brandeis.edu> morgan@chaos.cs.brandeis.edu (Dylan Kaufman) writes:
>>>
>>>which will let
>>>me completely block out Ctrl-C and Ctrl-Break during execution of the
>>>AUTOEXEC.BAT
>>
>>Try making the first line of your autoexec.bat  BREAK OFF  
>
>
>The BREAK Command Is Used To Control The Frequency That MS-DOS Checks For The
><CTRL-C>  Or <CTRL-Break> Combinations.  The Command BREAK OFF Directs MS-DOS
>To Check For The Key Combinations Only During Input And Output Operations.
>
>BREAK ON Will Allow MS-DOS To Check Whenever A Call Is Made To The Operating 
>System's Service Functions.
>
>So In This Case BREAK OFF Will Not Give The Results Asked.
>

I've had the same need, and I did write a TSR to do the job.  It's really
an unusual program, because it loads BEFORE COMMAND.COM and as such, will
protect you from anyone hitting Control-C or Control-Break during the 
AUTOEXEC file execution.

The only problem I've seen is that when you're using Borland's Turbo
products, and do a File/OS Shell, they install a Break Handler which
overcomes the ISR I've installed.  Once you quit the shell that was 
invoked via Turbo XXXX, and quit Turbo XXXX, then my TSR does it's job.

I've been using it under Novell Netware for about 2.5 years now without
any problems.

Please E-Mail me if you want the program (I'm new and don't know how to
post binaries to the text yet).

							Renny

-------------------------------------------------------------------------------
Renny Koshy						rennyk@apex.com
Apex Computer, Redmond, WA.
-- 
-------------------------------------------------------------------------------
Renny Koshy						rennyk@apex.com
Apex Computer, Redmond, WA.