Архив рубрики: C++

Сборка ICO файла с иконками в формате PNG при помощи FASM

Иногда я пишу небольшие программы на C++, и часто выходит так, что иконка программы «весит» больше, чем собственно сама программа. Так же вышло и при написании Sound Keeper: программа — 14КБ, иконка 16×16 + 32×32 + 48×48 пикселей — 15КБ. Какое расточительство! К счастью оказалось, что Windows (начиная с Vista) поддерживает PNG внутри ICO. Это как раз то, что нужно! Но почему-то не нашлось программы, которая бы позволила самому оптимизировать файлы PNG и собрать из них файл ICO. Поскольку у файлов ICO очень простой формат, соберём его при помощи FASM. Это нестандартное использование «плоского» ассемблера показывает, что его можно применять в самых неожиданных ситуациях, и это работает!
Читать далее

VS2005 Win32 Wizard MOD v1.0b [19.03.2008]

Мне всегда не нравились параметры по умолчанию, которые устанавливала Visual Studio 2005 при создании приложений для Win32. Каждый раз при создании нового проекта (даже самого мизерного) приходилось каждый раз отключать Unicode, Precompiled Headers (в небольших программах это ни к чему), включать статическую линковку всех необходимых библиотек для Release версии. Хотелось лишить себя этих хлопот.

Первые же исследования показали, что для всех мастеров создания проектов в VS2005 используется HTML и специальный JScript. Немного разобравшись в нем, я сделал множество удобных изменений. Возможно, кому-нибудь тоже пригодится.

Читать далее