![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Загрузка ресурсов 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 + ВинАпи сохранить ехе опять на диск?