Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!rutgers!att!cbnewsk!ech From: ech@cbnewsk.att.com (ned.horvath) Newsgroups: comp.sys.mac.programmer Subject: Re: Determining whether MultiFinder is present Message-ID: <1990Oct9.203522.11201@cbnewsk.att.com> Date: 9 Oct 90 20:35:22 GMT References: <45479@apple.Apple.COM> Organization: AT&T Bell Laboratories Lines: 50 In article <10540.270e461f@amherst.bitnet> mbabramowicz@amherst.bitnet writes: >Tech Notes seem to say that you can't determine whether or not Multifinder is >present. But Font/DA Mover seems to know... From article <45479@apple.Apple.COM>, by das@Apple.COM (David Shayer): > You probably know the standard answer to this: You don't need to know. > Instead, check for the specific feature you need... And you apparently need the standard rejoinder to this: if Apple programmers have a legitimate need to know (as Font/DA mover needs to know; as the LaserWriter needs to know so that it can selectively highlight the "Background Printing" button; but two ought to suffice), then non-Apple programmers have that very same need to know. The simple example is that I need to know if "Launch" will return or not (the Laserwriter example is a special case of this) so that I know whether or not I can launch a background task. I tried using Gestalt to see if it would help me with the "will Launch return" question. According to IM VI, Gestalt selector 'os ' ought to be just the ticket. But Gestalt returns error -5551 (selector unknown) in system 6.0.x. So much for asking the specific question you need the answer to. > If you simply want to know for academic interest, there are several different > (and very easy) ways to check, but I'll leave that as an exercise for the > reader. Grow up: he asked for help, for a "legit" way to test. If you can provide same, please do so. If not, your "I know, but I won't tell" is merely infuriating. A couple that SHOULD work (no promises): - call SysEnvirons. If the system version is >= $0700, MF is always on. - Use NGetTrapAddress to see if $A88F (OSDispatch) is the same as $A89F (will "always" be unimplemented). If they don't match, MF is running. - Among the first dozen or so events you'd receive from WaitNextEvent there will be a "Resume" event if MF is running. Notice that the last two suggestions may fail with 6.0.6 (the system version for the "new" machines that are being announced 10/15). In fact, any suggestion may fail then, depending on how determined Apple are to protect their monopoly on knowing if MF is running. This is a silly game. Can we stop now? =Ned Horvath=