Вопрос № 47333: Здравствуйте, уважаемые эксперты.
Программирую на ассемблере.
У меня два вопроса.
1. Как вытащить ресурсы из dll-файла, например shell32.dll, при помощи WinApi? И как узнать тип ресурса: картинка это, или
иконка, или курсор?
Есть ид...
Вопрос № 47.333
Здравствуйте, уважаемые эксперты.
Программирую на ассемблере.
У меня два вопроса.
1. Как вытащить ресурсы из dll-файла, например shell32.dll, при помощи WinApi? И как узнать тип ресурса: картинка это, или
иконка, или курсор?
Есть идея, но упирается в использование макроса системы MAKEINTRESOURCE.
2. При создании окна из comctl32.dll, например CoolBar, в MSDN написано использовать в качестве имени класса REBARCLASSNAME.
Такого имени обнаружить не удалось, помогло копание в исходниках Delphi. По всей видимости это какое-то внутреннее имя Windows.
Вопрос: как использовать их непосредственно или это невозможно и придется каждый раз копаться в посторонних текстах? :(
Отправлен: 26.06.2006, 11:40
Вопрос задал: Slin (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Алексей Смуриков
Здравствуйте, Slin!
1. Это делается легко читайте документацию по EnumResourceNames, LoadResource, FindResource и FindResourceEx, на всякий случай
формат:
BOOL EnumResourceNames(
HINSTANCE hModule, // resource-module handling
LPCTSTR lpszType, // pointer to resource type
ENUMRESNAMEPROC lpEnumFunc, // pointer to callback function
LONG lParam // application-defined parameter
);
HRSRC FindResource(
HMODULE hModule, // resource-module handle
LPCTSTR lpName, // pointer to resource name
LPCTSTR lpType // pointer to resource type
);
2. класс строка такая -> ReBarWindow32
--------- Speccy Rulezz!!!
Ответ отправил: Алексей Смуриков (статус:
Практикант)
Ответ отправлен: 26.06.2006, 14:16 Оценка за ответ: 4 Комментарий
оценки: Спасибо за ответ на первый вопрос! Второй возможно неправильно задал.
Отвечает: Vest
Здравствуйте, Slin!
Это есть т.н. Common Controls, в помощи Win32 API про них сказано в разделе: About Common Controls. Там перечисляются все
управляющие элементы (или элементы управления :). Там прописаны имена, например у Status Window имя - STATUSCLASSNAME. А
так, их ещё можно найти в файле commctrl.h простым методом поиска (заканчиваются имена на CLASSNAME)
--------- Халявы не бывает
Ответ отправил: Vest (статус: 3-ий
класс)
Ответ отправлен: 26.06.2006, 17:21 Оценка за ответ: 3 Комментарий оценки: это
мне известо. Дело в том, что я программирую на ассемблере и у него в inc файлах нет таких имен, поэтому и приходится пользоваться
сторонними источниками, помимо MSDN и собственных inc файлов. А это печально.