Добавление файла ICO в программу Win32 - PullRequest
1 голос
/ 23 июня 2010

Итак, добавили resource.rc и файл resource.h в мой проект.

resource.rc имеет #include "resource.h" IDI_MYICON ICON "my_icon.ico"

, а resource.h имеет #define IDI_MYICON 201

wincl.hIcon = LoadIcon (GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_MYICON));
wincl.hIconSm = (HICON) LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(IDI_MYICON),     IMAGE_ICON, 16, 16 ,0);

я получаю сообщение об ошибке компиляции "[error error] my_icon.icoчтение 2440 вернуло 2439 "

, также я изучаю этот API.Есть ли хорошие онлайн-ресурсы?Учебное пособие по фальсификаторам Win32 API хорошо, но мало что объясняет.

Ответы [ 2 ]

0 голосов
/ 16 апреля 2014

Предполагая, что ваше имя файла правильное, вероятная причина в том, что вам нужно #include <windows.h>, прежде чем включать resources.h. Я столкнулся с этой проблемой вчера и получал те же коды ошибок. Я также заметил, что если вы измените .rc и перекомпилируете, казалось, что он удаляет строку #include <windows.h> каждый раз. Я предполагаю, что путь include неверен на моей машине, и поскольку он не может найти файл, он удаляет его.

Другая причина - неверный путь к файлу значка. Если вы добавили my_icon.ico в качестве ресурса и добавили его в ваш проект в папке Resources, ваше местоположение файла должно быть #include "resource.h" IDI_MYICON ICON "Resources\\my_icon.ico"

Если ваш .ico поврежден, что может быть, попробуйте использовать .ico, который, как вы знаете, не поврежден, и посмотрите, работает ли он.

Надеюсь, вы уже поняли это! Удачи!

0 голосов
/ 28 августа 2012

Я предлагаю использовать ResEdit , это очень мощный инструмент для редактирования ресурсов.

...