Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/10: Рейтинг темы: голосов - 10, средняя оценка - 4.70
jonson
234 / 207 / 84
Регистрация: 18.03.2010
Сообщений: 750
#1

FindResource. Как получить доступ к ресурсу

27.07.2013, 19:26. Просмотров 1861. Ответов 5
Метки нет (Все метки)

Приветствую. Пишу в среде VS2010, проект WinApi.
В ресурсы приложения добавил(импортировал) файл - анимированый курсор (ani_cursor.ani) присвоев ему тип ANI_CURSOR. В файл .rc добавилась следующая строка:
C
1
IDR_ANI_CURSOR1         ANI_CURSOR              "D:\\ani_cursor.ani"
Далее в программе пытаюсь получить дескриптор информационного блока этого ресурса:
C
1
2
3
4
5
6
7
HRSRC cursor_resource = NULL;
    cursor_resource = FindResource(hInstance, "IDR_ANI_CURSOR1", "ANI_CURSOR" );
    if(! cursor_resource)
    {
        DWORD err;
        GetLastError();
    }
но FindResource возвращает 0.
GetLastError - 1814
ERROR_RESOURCE_NAME_NOT_FOUND
The specified resource name cannot be found in the image file.

Почему не находит имени ресурса, что я не так делаю???
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.07.2013, 19:26
Ответы с готовыми решениями:

Как получить доступ к ресурсам?
как найти доступ к ресурсу win32

Как получить доступ к функциям драйвера печати?
Добрый день. Как получить доступ к функциям драйвера печати? Мне необходимо...

Как получить доступ к элементам формы из созданного класса?
Всем доброго времени суток!:help: Скажите, пожалуйста, как мне обратиться к...

Как должен выглядеть POST и GET запросы к нужному ресурсу?
Всем привет! Пишу приложение, используя библиотеку cURL и застрял на том,...

Каким образом можно получить доступ к запущеным службам?
Здравствуйте. Подскажите как получить списки установленных и запущенных ...

5
Убежденный
Ушел с форума
Эксперт С++
15954 / 7266 / 1178
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
27.07.2013, 19:33 #2
А если передать NULL в первом параметре FindResource ?
0
jonson
234 / 207 / 84
Регистрация: 18.03.2010
Сообщений: 750
27.07.2013, 20:10  [ТС] #3
когда указал числовой идентификатор ресурса, в таком варианте вроде работает.)
C
1
cursor_resource = FindResource(hInstance, "#114", "ANI_CURSOR" );
0
Убежденный
Ушел с форума
Эксперт С++
15954 / 7266 / 1178
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
27.07.2013, 20:33 #4
Цитата Сообщение от jonson Посмотреть сообщение
FindResource(hInstance, "IDR_ANI_CURSOR1", "ANI_CURSOR");
Видимо, так тоже заработает (без кавычек):
C++
1
FindResource(hInstance, IDR_ANI_CURSOR1, "ANI_CURSOR");
1
jonson
234 / 207 / 84
Регистрация: 18.03.2010
Сообщений: 750
27.07.2013, 20:51  [ТС] #5
Цитата Сообщение от Убежденный Посмотреть сообщение
Видимо, так тоже заработает (без кавычек)
Там строка должна быть. FindResource
0
Убежденный
Ушел с форума
Эксперт С++
15954 / 7266 / 1178
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
27.07.2013, 21:01 #6
Не обязательно.

http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Alternately, rather than a pointer, this parameter can be MAKEINTRESOURCE(ID), where ID is the integer identifier of the resource.
Добавлено через 3 минуты
Вообще, я не советую использовать FindResource в "чистом" виде.
Она, насколько мне известно, пытается искать ресурсы, язык которых соответствует
локали вызывающего потока. Если соответствия нет - функция возвращает ошибку.
Натыкался пару раз. Гораздо надежнее перечислить все ресурсы с помощью трио
EnumResourceTypes/EnumResourceNames/EnumResourceLanguages, и только потом,
зная LANGID, загружать нужные.
1
27.07.2013, 21:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2013, 21:01

Получить доступ ко всем Windows Event Log локальной машины
Ребята привет, у меня появилось подобное задание получить доступ ко всем...

Как в D2010 получить доступ к ресурсу добавленному в самой IDE ?
Несколько запутанный вопрос. Итак есть D2010 в нем есть в меню...

Как убрать общий доступ к отсутствующему ресурсу
В общем доступе моего компьютера находятся ссылки на давно не существующие...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru