Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.02.06;
Скачать: CL | DM;

Вниз

Загрузка ресурсов RC_DATA   Найти похожие ветки 

 
nc   (2004-12-21 19:08) [0]

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

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

Спасибо!!

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


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

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

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


 
Anton_K ©   (2004-12-21 19:15) [2]

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


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

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


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

CreateFile, WriteFile.


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

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


 
Anton_K ©   (2004-12-21 19:38) [6]

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);


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


 
Anton_K ©   (2004-12-21 19:44) [7]

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



Страницы: 1 вся ветка

Текущий архив: 2005.02.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.136 c
1-1106458556
Alex_pv2
2005-01-23 08:35
2005.02.06
hint для Items в ListBox


1-1106390098
Mikel
2005-01-22 13:34
2005.02.06
Как сделать поиск в таблице....


6-1101379631
Неизвестный
2004-11-25 13:47
2005.02.06
Ошибка 10061


3-1105039208
Kostet
2005-01-06 22:20
2005.02.06
Как создать дистрибутив программы управления б.д.?


14-1106139129
Prohodil Mimo
2005-01-19 15:52
2005.02.06
Win98 и WinXP не видят друг друга. как лечить?