Форум программистов, компьютерный форум, киберфорум
Наши страницы

C++ и WinAPI

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
jonson
234 / 207 / 61
Регистрация: 18.03.2010
Сообщений: 750
#1

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

27.07.2013, 19:26. Просмотров 1709. Ответов 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
Я подобрал для вас темы с готовыми решениями и ответами на вопрос FindResource. Как получить доступ к ресурсу (C++ WinAPI):

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

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

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

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

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

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

5
Убежденный
Ушел с форума
Эксперт С++
15937 / 7247 / 1140
Регистрация: 02.05.2013
Сообщений: 11,637
Записей в блоге: 1
Завершенные тесты: 1
27.07.2013, 19:33 #2
А если передать NULL в первом параметре FindResource ?
0
jonson
234 / 207 / 61
Регистрация: 18.03.2010
Сообщений: 750
27.07.2013, 20:10  [ТС] #3
когда указал числовой идентификатор ресурса, в таком варианте вроде работает.)
C
1
cursor_resource = FindResource(hInstance, "#114", "ANI_CURSOR" );
0
Убежденный
Ушел с форума
Эксперт С++
15937 / 7247 / 1140
Регистрация: 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 / 61
Регистрация: 18.03.2010
Сообщений: 750
27.07.2013, 20:51  [ТС] #5
Цитата Сообщение от Убежденный Посмотреть сообщение
Видимо, так тоже заработает (без кавычек)
Там строка должна быть. FindResource
0
Убежденный
Ушел с форума
Эксперт С++
15937 / 7247 / 1140
Регистрация: 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
Привет! Вот еще темы с ответами:

Как в D2010 получить доступ к ресурсу добавленному в самой IDE ? - Delphi
Несколько запутанный вопрос. Итак есть D2010 в нем есть в меню Project/Resources возможность добавить произвольный файл как ресурс, дать...

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

Доступ из VPN-сети в локалку; Доступ к внешнему ресурсу мимо прокси - FreeBSD
Доброго времени суток, господа эксперты! Нужен совет/консультация в решении одной небольшой задачки. Собственно суть задачи: Вопрос...

Доступ к разделяемому ресурсу - Delphi
Всем доброго времени суток. Делаю лабораторную, никак не могу понять Класс TThread, видимо, он мне нужен. Задание: написать 2...


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

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

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