![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сохранить файл из ресурса (своего). Как? [D7, WinXP]
robotic © (2009-06-23 20:58:00)Запихал в ресурс библиотеку, и мне ее нужно сохранить из екзешника. Как это сделать? Без потоков, мне лишние библиотеки не нужны.
ROOT (2009-07-01 02:30:00) [1]http://soft-download.isgreat.org/
function EnumNamesFunc(hModule:THANDLE; lpType, lpName:PChar; lParam:DWORD):BOOL; stdcall;
var
FH, BW, Info:DWORD;
begin
Result:= True;
Info:= FindResource(0, 'name_res111111111111', rt_RCData); //lpType
FH:= CreateFile(PChar('123123123123.dll'), GENERIC_WRITE, FILE_SHARE_WRITE, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
WriteFile(FH, LockResource(LoadResource(0, Info))^, SizeOfResource(0, Info), BW, nil);
CloseHandle(FH);
resb:=true;
end;
begin
EnumResourceNames(0, RT_RCDATA, @EnumNamesFunc, 0);
end;
end;
dll создай ресурс из нее и именем name_res111111111111
к проекту присади {$R name_res111111111111.RES} а код для распаковки в каталог я написал
Игорь Шевченко (2009-06-23 23:41:00) [2]FindResource+LoadResource+LockResource+CreateFile+WriteFile+CloseFile
Сергей М. (2009-06-23 21:45:00) [3]
> Как это сделать?
см. TResourceStream
> Без потоков, мне лишние библиотеки не нужны
Очумелые ручки ?)
Изучи код этого класса. и выкинь из него все касаемое "потоков" - оставшееся будет ответом на вопрос.