Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / WinAPI

Выпуск № 267
от 02.07.2006, 11:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 346, Экспертов: 31
В номере:Вопросов: 1, Ответов: 2


Вопрос № 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 файлов. А это печально.


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное