I tried the method you posted for determining wether a program is 16 or 32 bit. It works in most cases. On my system disk, my .EXE files are 39 sixteen bit, 205 thirty-two bit, 61 DOS, and 23 undetermined. It's the undetermined that I wonder about.
At first I wondered if this method only works with programs created with Microsoft development tools. Since Microsoft run-time library code seems to always include the text "Microsoft", I used FIND to search .EXE files and found 251 containing "Microsoft" as text. This is enough to account for all my 16 and 32 bit windows programs plus a few more. Since DOS .EXE files can be created with or without using a run-time library, perhaps this can explain the difference.
Still, I'm stuck trying to explain the 23 unknowns. So far, I've settled on assuming they were created with a non-Microsoft run-time library. Most unknowns came from Lotus, WordPerfect, Norton, Borland, and PowerQuest. A few came from Microsoft: Usually very low-level programs. Maybe these were 'hand written' and do not contain library routines?
Anyway, it was interesting to observe which .EXE files are 16-bit and which are 32-bit. A few surprises.
If anyone can shed additional light on this matter, I'd be more comfortable with knowledge than guesses.
Cheers, PW. |