Re: Непростой вопрос.
- From
- Andy Malakov (2:5020/423.33)
- To
- Boris Rudakov ()
- Date
- 1996-06-26T18:35Z
- Area
- SU.WINDOWS.PROG
Hello Boris!
26 Jun 96 08:58, Boris Rudakov wrote to Andy Malakov:
BR>>> программа: Win32/Win16, Win95/WinNT. Матрица 2х2. С Win32 все
BR>>> очень просто - GetVersion все скажет. А вот как может Win16
BR>>> ОДНОЗНАЧНО выяснить, что работает под NT ?
BR>>> NT врет ей, что версия 3.1
AM>> Рихтер - стр. 24 3.95 for Win95/NT !
~~~~
BR> Замечательно. Я так и знал, что можно.
BR> Краткость ответа тоже приятно удивляет. :)
BR> Тем не менее, Рихтера у меня, как несложно догадаться, нет (иначе я бы его
BR> уже прочитал и не задавал таких вопросов).
Внимательнее погляди мой давешний ответ(справа) :)
BR> Не будет ли очень сложно его процетировать, не-нет, не всю страницу, а
BR> только парочку абзацев ?
DWORD GetVersion(VOID);
Первоначально предполагалось в старшем слове версия MSDOS а в младшем Windows.
Соответственно в каждом слове старший байт - номер основной версии, младший -
дополнительный подномер версии.
" А дальше все было не просто. К сожалению, программист, написавший ее код, чуточку ошибся, и получилось так - в старший байт заносится дополнительный номер версии, а в младший - основной. Ну а поскольку многие программисты уже начали пользоваться этой функцией, Microsoft пришлось оставить все, как есть, и изменить документацию с учетом ошибки.
Однако на этом инцидент не был исчерпан. Часть программистов все-таки запуталась в функции GetVersion. ... Пока приложения работали под Windows 3.1
все было в порядке, но когда Microsoft, начав переход на Windows 95, стала тестировать в ней существующие приложения, выяснилось, что многие из них отказывались работать - код определения версии в них был написан неправильно.
Вот почему было решено изменить GetVersion всех будущих версий Windows95 и WindowsNT так, чтобы она всегда возвращала только один номер 3.95 ."
В Win32 Microsoft ввела GetVersionEx(LPOSVERSIONINFO)
Andy
--- GEcho 1.11+
* Origin: Ecce homo (2:5020/423.33)