3 ms·
Which is why GetVersionEx() on Windows will always tell you that you are running Windows 8, unless your application has a manifest entry indicating specifically
by dietrichepp 11y ago
Which is why GetVersionEx() on Windows will always tell you that you are running Windows 8, unless your application has a manifest entry indicating specifically that it is compatible with a higher version.
Microsoft thought there were too many broken version checks in the wild, so decided to hobble the version check function as a fix. I can understand why they did it.
- Pxtl 11y agoHell, the reason Windows 10 is Windows 10 is because of all the bad version checks looking for "9X"
- sanderjd 11y agoHa! Is that true in a documented fashion or just widely suspected? I had never heard that, but it makes perfect sense.
- warp 11y agohttps://searchcode.com/?q=if%28version%2Cstartswith%28%22windows+9%22%29 https://searchcode.com/?q=if%28version%2Cstartswith%28%22win...
- squeaky-clean 11y agoIf you Google it, you can find plenty of articles, but this is the original source [0]. The Redditor has since deleted their account it seems. [0] https://www.reddit.com/r/technology/comments/2hwlrk/new_windows_version_will_be_called_windows_10/ckwq83x https://www.reddit.com/r/technology/comments/2hwlrk/new_wind...
- netmare 11y agoThat's just a silly rumor. The only examples I've seen of programs using strings to do version checks are Java ones. The function that returns "Windows 95" for Win4.0.xx could simply have been made to return "Windows Nine" or "Windows\xa09" for Win6.4.xx. "Problem" solved. The rest of the world, who's been using GetVersionEx(), wouldn't even notice it. IMHO, the most probable reason was marketing (OS X).
- dietrichepp 11y agoNo, it's not a silly rumor. It was Java programs (among others), but Microsoft takes backwards compatibility very seriously. Windows 9 builds were tested internally at Microsoft, and the bugs in third-party programs drove the decision to bump the version to 10.
- Dylan16807 11y agoJava would have returned "Windows NT (unknown)" as far as I know. How would programs get a string that said "Windows 9"? What API would be involved? What would they be reading that is text-based, wouldn't lie, [and existed on 9x]?