Quote from: Sh4veD4ve on June 10, 2021, 05:38:36
They skipped 9 for a very simple reason - Windows 9x (e.g. 95 or 98).
Anything that used a wildcard after the 9 (which was apparently very widespread) would assume the new Windows 9 was a relic from the 90s.
This, of course, is just a vile insinuation about Windows and Windows application developers. I'd understand this kind of hatred today, but not when speaking of the golden 90's days.
Here's the facts. When you poll for Windows version programmatically, you leverage a specific function, written by Microsoft and supplied through Windows SDK. These will yield:
an INT (0x80000000 - GetVersion() with a mask),
or a GUID ({8e0f7a12-bfb3-4fe8-b9a5-48fd50a15a9a}),
or a STRUCT (DWORD MajorVersion + DWORD MinorVersion + ...),
or a CHAR ARRAY ("CHICAGO'\0'"),
or a BOOLEAN (VersionHelpers.h > IsWindowsXPSP2OrGreater()).
Quite possibly, the only place where you'll find a STRING that reads "Windows 95", is in Registry: under
"HKLM\Software\Microsoft\WindowsNT\CurrentVersion\ProductName".
And one thing you can be certain about in this world, is that a software developer would never rely on a STRING being matched.
P. S.: Come to think of it, I'm not even sure if "ProductName" key had existed before Windows 2000.
P. P. S.: We don't use anything like "wildcards", because we have bit masks and ENUM's to SWITCH on, they are just way faster.