Извлечение файла из резурсов приложения
|
vvova15
|
Дата: Вторник, 08.03.2011, 06:09 | Сообщение # 1
|
Участник
Зарегистрирован: 24.04.2010
Группа: Пользователи
Сообщений: 83
Статус: Offline
|
в общем такой вопрос: для извелечения ресурсов я использую такуй процедуру:
Code
procedure ExtractRes(ResType, ResName, ResNewName : String);
var Res : TResourceStream;
begin Res := TResourceStream.Create(Hinstance, Resname, Pchar(ResType));
Res.SavetoFile(ResNewName); Res.Free;
end;
все бы ничего, но описание класса TResourceStream находиться в модуле classes, который дает привес около 80 кб к стабу.
можно ли как то переписать ее на winapi?
|
|
|
|
|
Anton93
|
Дата: Понедельник, 14.03.2011, 19:06 | Сообщение # 2
|
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
|
попробуй найти TResourceStream исходный код, в этом случае необходимость в подеключении классес отпадает |
|
|
|
|
dolphin
|
Дата: Понедельник, 14.03.2011, 19:26 | Сообщение # 3
|
Администратор
Сообщений: 904
Статус: Offline
|
Можно другим путём пойти, не ресурс использовать а записать в конец себя, а потом извлечь, на апи можно легко реализовать.
Сообщение отредактировал dolphin - Четверг, 15.03.2012, 23:32
|
|
|
|
|
vvova15
|
Дата: Вторник, 17.05.2011, 12:28 | Сообщение # 4
|
Участник
Зарегистрирован: 24.04.2010
Группа: Пользователи
Сообщений: 83
Статус: Offline
|
всем спасибо что откликнулись.проблему решил так:
Code
const bytes:array[0..filesize] of byte=($00,$11,$22,.......,$00)//дамп памяти файла.получаю с помощью вспомогательной проги и функции inttohex
....
var f:file;
...
begin
...
assignfile(f,'file.exe');
rewrite(f);
blockwrite(f,bytes,filesize);
closefile(f);
...
end;
ICQ 185-398
|
|
|
|
|
dolphin
|
Дата: Вторник, 17.05.2011, 14:48 | Сообщение # 5
|
Администратор
Сообщений: 904
Статус: Offline
|
Кому интересно, на апи я извлёк таким образом
Доступно только для пользователей
Система: Windows 10 x64, Windows XP
Среды программирования: Delphi 7, Delphi 10 Seattle
Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик
|
|
|
|
|
gravitas
|
Дата: Среда, 18.05.2011, 10:59 | Сообщение # 6
|
Авторитетный
Зарегистрирован: 01.05.2010
Группа: Пользователи
Сообщений: 385
Статус: Offline
|
dolphin, про запись кода в конец себя идея вообще крутая! +!
TheDeduction

Для ускорения получения ответов на ваши вопросы рекомендуется подкармливание в виде +'ов в рейтинг :)
|
|
|
|
|
Android
|
Дата: Четверг, 29.12.2016, 14:15 | Сообщение # 7
|
Постоянный
Зарегистрирован: 13.12.2011
Группа: Пользователи
Сообщений: 100
Статус: Offline
|
для записи и извлечения себя в конец - нудно знать размер в байтах себя без прикрепления нагрузки. Читаешь с этого места до конца - получаешь нужный файл |
|
|
|
|