[comp.lang.c] Help in Writing Turbo C TSR Needed

vlee@eric.mpr.ca (Vitus Lee) (02/09/90)

I have a need to write a TSR using Turbo C 2.0 which on a specific hot key
sequence, will take over the machine.  On exit, it returns the machines to
normal operations.

I know that I have to intercept the keyboard interrupt using getvect and
setvect.  And I also have to use keep to terminate and stay resident.
However, how do I parse the keyboard entry to determine if the correct hot
key sequence was entered.  The TSR must pass all non hot key sequences to
DOS for normal machine operations.  Only hot key sequence will be gobbled
up.  How do I do this?  How do I chain the interrupts?

I will much appreciate if anyone can offer any help or maybe offer any
skeleton program in C.  Many thanks in advance.


Vitus 

woody@rpp386.cactus.org (Woodrow Baker) (02/11/90)

In article <2058@eric.mpr.ca>, vlee@eric.mpr.ca (Vitus Lee) writes:
> 
> However, how do I parse the keyboard entry to determine if the correct hot
> key sequence was entered.  The TSR must pass all non hot key sequences to
> DOS for normal machine operations.  Only hot key sequence will be gobbled
> up.  How do I do this?  How do I chain the interrupts?
> 
> I will much appreciate if anyone can offer any help or maybe offer any
> skeleton program in C.  Many thanks in advance.
> 
> 
> Vitus 

I have some code that does this sort of thing.  It was written by a co-worker
of mine.  It is a memory resident utility, that is smart enough to find any
copies of itself, and handles the chaining of several interrupts nicely.
Basically, it is written in assembly, and starts a process by stuffing
characters into the keyboard buffer, at a set time.  invoking it after
it is in memory, and passing a switch to it, causes it to travers the
interrupt chain, and change times, and /or change the keystroke buffer.
Give me a jingle

Woody Baker
512-837-8317 7:00-4:15 m-f CTS. Austin, Tx.  I am usualy on the net from
6:30 or so until 7:30...

Cheers
Woody