- 1
MSDN: To obtain the full version number for the operating system, call the GetFileVersionInfo function on one of the system DLLs, such as Kernel32.dll
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+3
MSDN: To obtain the full version number for the operating system, call the GetFileVersionInfo function on one of the system DLLs, such as Kernel32.dll
В Windows функции вроде GetVersion задепрекейтили (и остальные более новые функции из SDK) и теперь они всегда возвращают "Windows 8" в том числе на десятке, если приложения не манифестить или ещё чего (а манифестить не всегда возможно, если допустим, разрабатывается плагин под другой софт). В итоге в API куча непонятных правил и разных ЕСЛИ, и нет уверенности в том, реальную ли версию Винды нам возвращает функция, или это опять какой-то shim.
С появлением rapid release cycle в Windows и автоапдейтов появляется проблема: новые апдейты постоянно ломают ранее рабочий софт. Для этого нужно делать workaround'ы: смотреть какой там у нас билд (1803? 1809?) и включать нужный костыль. Видимо, самим в Microsoft это надоело, что они на полном серьёзе предлагают смотреть file version у каких-нибудь системных файлов в системной папке, чтобы узнать версию ОС наверняка. Официальный говнокод от Майкрософт.
---------------
это все архаика никому уже не нужна. Используй ум китайцев, они читают ироглифы целяком а не слова по буквам поэтому тратаят в 100 раз меньше времени что бы получить тотже обьем информации
> Используй ум китайцев
Именно поэтому я за 'APL'.
Т.е. если задача -- простенькая, когда хватает стандартных либ, то .NET сойдёт. Но если задача -- какой-то реальный конкурентный продукт, то я бы поспорил, что сложнее -- писать сразу на С/C++, или городить многоэтажные костыли через .NET (C# => C/C++ => C#), где всё склеено на соплях. А если потом выходит новый апдейт Windows и что-то сломалось на низком уровне, то C#-only программист просто не осилит придумать костыль-workaround, и будет таращиться как баран на новые ворота
Дык у большинства сишных либ нет ком интерфейса. Ибо реализовывать его с сишной стороны - это наказание для грешников в аду.