Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!uwm.edu!ux1.cso.uiuc.edu!phil From: phil@ux1.cso.uiuc.edu (Phil Howard KA9WGN) Newsgroups: comp.os.msdos.programmer Subject: Re: How can a TSR detect if it has been installed? Message-ID: <1991Jun26.173756.19925@ux1.cso.uiuc.edu> Date: 26 Jun 91 17:37:56 GMT References: <0094A83A.9AE8E1A0@MAPLE.CIRCA.UFL.EDU> <1991Jun23.145337.20537@netcom.COM> Organization: University of Illinois at Urbana Lines: 23 resnicks@netcom.COM (Steve Resnick) writes: >>I have written a TSR that takes over the command line input for INT21H, in >>other words an INT21H replacement. >> >>How can it prevent itself from being re-installed? I know programs such as >>NORTON SI will show you who "owns" an interrupt, and my program comes up >>as the owner. If there was a way to see if the owner was NOT DOS (i.e. anothe >>program, such as a TSR, owned it) and to not install itself in that case, I >>would like to know. >The way I have handled this, when using an interrupt vector which may >already be used by some other utility/tsr/system function is to >grab a few bytes in the CS of the ISR as a "signature", then when installing >my TSR, look at that segment address and the specific offset. If my signature >is there, I know my TSR has been installed, otherwise it's not and I can >install it.... How can you differentiate between some other TSR owning it and DOS owning it? -- /***************************************************************************\ / Phil Howard -- KA9WGN -- phil@ux1.cso.uiuc.edu | Guns don't aim guns at \ \ Lietuva laisva -- Brivu Latviju -- Eesti vabaks | people; CRIMINALS do!! / \***************************************************************************/