Среда, 28.06.2017, 03:13 Приветствую вас Гость | Группа "Гости" 


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: Волк-1024 
delfcode » Delphi » Windows API в Delphi » Извлечение файла из резурсов приложения
Извлечение файла из резурсов приложения
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
Администратор
Сообщений: 902
Статус: 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
Администратор
Сообщений: 902
Статус: 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
для записи и извлечения себя в конец - нудно знать размер в байтах себя без прикрепления нагрузки. Читаешь с этого места до конца - получаешь нужный файл
 
delfcode » Delphi » Windows API в Delphi » Извлечение файла из резурсов приложения
Страница 1 из 11
Поиск:

delfcode.ru © 2008 - 2017 Хостинг от uCoz