Как поддержка формата изображения значка зависит от версии Windows? - PullRequest
0 голосов
/ 18 января 2019

У меня недавно была проблема, когда я мог добавить значок в форму (VB6) на одном ПК, где он работал нормально, но они не смогли запустить / скомпилировать его на втором ПК.

Оказалось, что файл значка был 32-разрядным (включая альфа-канал), и это была проблема. Но я был удивлен, что это была системно-зависимая функция.

(В этом конкретном примере это была Win10 x64, которая позволяла использовать 32-разрядную иконку, и Win7 x32, которая не позволяла).

Так что теперь кажется совершенно неясным , какие значки разрешено использовать в VB6 в каких версиях Windows?


Я видел такие примеры, как этот вопрос с похожей проблемой, и этот другой вопрос описывает, какие могли быть оригинальные функции VB6, когда он был новым (?), Но Я пока не могу найти информацию, которая подробно описывает, что изменилось в зависимости от версии Windows.

Это важно, потому что нам не нужно обязательно жить в пределах ограничений (скажем) Windows XP, если мы знаем, что развертываем только в Windows 8/10. Но я также не хочу рисковать тем, что у части пользователей будут какие-то ужасные проблемы из-за этого.


Я немного углубился в это - кажется, что функция Windows API OleLoadPicturePath() ведет себя по-разному в двух версиях Windows, которые я упоминал выше. На Win7 это будет ошибка с 32-битным значком; но на Win10 это не так. Я не уверен, есть ли другие функции API, которые также отличаются или нет.

...