Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Загрузка ресурсов RC_DATA [D7, WinXP]


nc ©   (2004-12-21 19:08:00) 

Имеется ехешник, из коророго я сделал ресурс типа RC_DATA. Гружу его методами:
FindResource
LoadResource.

Вопрос: как мне сохранить ехе файл на диске, если я получаю корректно результат hGlobal от ф-ции LoadResource ?

Спасибо!!

П.С. Интересует ТОЛЬКО винапи реализация


Anton_K   (2004-12-21 19:44:00) [1]

То есть WriteFile(f,LockResource(HGlobal) ^,SizeOfResource(HResInfo),Cardinal(nil^),nil);


Anton_K   (2004-12-21 19:38:00) [2]

var f:Cardinal;
...
f:=CreateFile(имя файла,GENERIC_WRITE,0,nil,CREATE_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
WriteFile(f,LockResource(HGlobal),SizeOfResource(HResInfo),Cardinal(nil^),nil);
CloseHandle(f);


Примерно так.


nc   (2004-12-21 19:28:00) [3]

Т.е. используя WriteFile, hGlobal надо подставлять в первый параметр (hFile) ? Или как?


Anton_K   (2004-12-21 19:22:00) [4]

CreateFile, WriteFile.


nc   (2004-12-21 19:19:00) [5]

Это я знаю... Ты подскажи плз на примере как с помощь этого файл создать... Без стримов и прочих делфевских вещей...


Anton_K   (2004-12-21 19:15:00) [6]

LockResource(HGlobal)-указатель на данные
SizeOfResource(HResInfo)-размер данных


nc   (2004-12-21 19:09:00) [7]

HResInfo := FindResource(0, 'TBAR', RT_RCDATA);
 HGlobal := LoadResource(0, HResInfo);

Как используя HGlobal + ВинАпи сохранить ехе опять на диск?


Наверх

Титульная страница Поиск, карта сайта Написать письмо