===[ Программы / Windows ]=== #post-id: 6688-09-34 #original-date: 17.11.2018 Sat #original-time: 9:34 AM #original-day: 6688 #original-host: WinXP Home SP3 (Build 2600) Вспомнила я тут цитату про «криворучек из Microsoft, запихнувших PNG сырым потоком в ICO файлы», ну и озадачилась поиском информации на тему. В итоге нашла у Рэймонда Чена серию постов про иконки, в том числе и по интересующей меня теме: https://blogs.msdn.microsoft.com/oldnewthing/20101018-00/?p=12513 https://blogs.msdn.microsoft.com/oldnewthing/20101019-00/?p=12503 https://blogs.msdn.microsoft.com/oldnewthing/20101021-00/?p=12483 https://blogs.msdn.microsoft.com/oldnewthing/20101022-00/?p=12473 Жаль, не раскрыта тема двух прозрачных цветов: просто прозрачного и инвертируемого, которым в старых программах увлекались. Да, это было давно, и всё же. А вот тут рассказывается о том, почему в Висте перестали показываться иконки Win16 программ: https://docs.microsoft.com/en-us/previous-versions/technet-magazine/cc462815%28v=msdn.10%29 Я знала, что народ любил всюду использовать Win16 DLL с расширением ICL (например, Microangelo так делал), но не знала, как система эти иконки использует. Думала, что там какие thunk'и, вызывающие Win16 функции, а оказалось, что просто некий велокод парсит блоки ресурсов и вытаскивает данные иконок, которые уже подсовывает Win32 функциям. #upd(17.11.2018 - 10:19 AM): Ну и о будущем. > (Yes, I'm being unfair and ignoring backward compatibility. In my > mind, as a user, if a program requires backward compatibility it's > because it's being poorly maintained and is probably not evolving > with the new OS releases, and I'll vote with my feet and move on > to something that keeps up with the days.) > > [Translation: Every application vendor who does not issue > an update to their program the same day the OS is released is > a lazy bum. -Raymond] https://blogs.msdn.microsoft.com/oldnewthing/20101021-00/?p=12483#comment-868463