- 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 у каких-нибудь системных файлов в системной папке, чтобы узнать версию ОС наверняка. Официальный говнокод от Майкрософт.
guest8 08.03.2019 02:15 # −999
ASD_77 08.03.2019 16:07 # 0
---------------
это все архаика никому уже не нужна. Используй ум китайцев, они читают ироглифы целяком а не слова по буквам поэтому тратаят в 100 раз меньше времени что бы получить тотже обьем информации
Kypumca 08.03.2019 16:55 # 0
> Используй ум китайцев
Именно поэтому я за 'APL'.
KGeist 09.03.2019 01:00 # +3
Т.е. если задача -- простенькая, когда хватает стандартных либ, то .NET сойдёт. Но если задача -- какой-то реальный конкурентный продукт, то я бы поспорил, что сложнее -- писать сразу на С/C++, или городить многоэтажные костыли через .NET (C# => C/C++ => C#), где всё склеено на соплях. А если потом выходит новый апдейт Windows и что-то сломалось на низком уровне, то C#-only программист просто не осилит придумать костыль-workaround, и будет таращиться как баран на новые ворота
guest8 09.03.2019 01:11 # −999
bormand 09.03.2019 08:38 # +1
Дык у большинства сишных либ нет ком интерфейса. Ибо реализовывать его с сишной стороны - это наказание для грешников в аду.
Ga_Dong_Tao 09.03.2019 09:24 # +1
guest8 09.03.2019 17:44 # −999
Ga_Dong_Tao 09.03.2019 20:49 # 0
TEH3OPHblu_nemyx 09.03.2019 20:53 # 0
guest8 09.03.2019 17:50 # −999