On 23 Nov 2007 at 21:57, Fred Cisin wrote:
MS-DOS version numbers are ALWAYS an integer, a
period, then a two digit
decimal number (stored internally in binary). There was never a DOS
version "3.3", but there was a "3.30". It was internally stored as 3
and
THIRTY. (1E03) Ver "6.2" was actually 6 and TWENTY, etc. (1406)
I think you're right. I'll have to get out my copies of Windows NT
3.2, 3.3 and 3.4 to check for similar incremental versions.... :)
Were Windoze versions stored similarly?
If so, then "3.1" was actually 3 period TEN, (0A03)?
and "3.11" was actually 3 period ELEVEN. (0B03)?
Internally, as a return from GetVersionEx, 32-bit Windoze versions
are kind of strange:
Windows Server 2008 6.0
Windows Vista 6.0
Windows Server 2003 R2 5.2
Windows Server 2003 5.2
Windows XP 5.1
Windows 2000 5.0
Windows Me 4.90
Windows 98 4.10
Windows NT 4.0 4.0
Windows 95 4.0
So Windows Server 2003 actually registers as being later than XP--and
ME shows as being version 90 (that should have been a hint to
everyone that MICROS~1 wasn't going to take the 9x platform any
further.
The Win16 GetVersion() simply returns 32 bits; the low order word is
divided into MajorVersion/MinorVersion bytes with the build number or
0 in the high-order word.
Cheers,
Chuck