Свойство Icon в окне вызывает сбой приложения в Windows XP SP2 - PullRequest
10 голосов
/ 12 февраля 2010

Предположим, у меня есть это:

<Window stuff Icon="Resources\myicon.ico">

Если я запускаю программу в Windows 7, все в порядке. Если я запускаю его на Windows XP с пакетом обновления 2 (SP2), происходит сбой. Удаляя свойство Icon, оно отлично работает в Windows XP, но тогда у меня нет myicon на панели задач Windows 7 или в Windows.

Кроме того, установка значка приложения в меню проекта VS не работает для W7, но работает для XP. В итоге:

<Icon> = сломанная XP, хорошо W7
Нет <Icon> = нормально XP, уродливый W7
Опция иконки проекта VS = не работает для W7, хорошо XP

Для записи я создал иконки для 16x16, 22x22 и т. Д. До 256x256 для 32, 24 и 8 бит. Я также использовал IcoFX auto для создания образа .ico для Windows XP.

Есть ли способ обойти это? Или мне нужно выбирать между некрасивым приложением Windows 7 (и Vista?) Или без приложения Windows XP?

Ответы [ 2 ]

16 голосов
/ 12 февраля 2010

XP не поддерживает значки 256x256. Удалите значок 256 для XP.

2 голосов
/ 22 января 2014

Это не имеет ничего общего с разрешением, но с форматом: Windows XP не может обрабатывать сжатые значки PNG в файле ICO. Обычно сжимаются только большие разрешения, в основном 256x256.
Я использовал http://iconverticons.com/ для создания файлов ICO, и они также сжимали изображения 128x128 с использованием PNG.

Чтобы решить эту проблему, откройте файл ICO в Visual Studio и удалите все версии значка в формате PNG. В качестве альтернативы вы можете конвертировать иконки PNG в формат BMP с помощью icoFx. Просто отключите сжатие в диалоговом окне параметров и сохраните свой значок в новом файле.
Вы можете скачать последнюю бесплатную версию IcoFx здесь: http://www.chip.de/downloads/IcoFX-letzte-Freeware-Version_28266149.html

...