| Извлечение файла из резурсов приложения | 
|  | 
| 
| 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 |  |   Администратор Сообщений: 906 Статус: 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 |  |   Администратор Сообщений: 906 Статус: Offline | Кому интересно, на апи я извлёк таким образом 
 Доступно только для пользователей
 
 Система: Windows 10 x64, Kali Linux
 Среды программирования: Delphi 7, Delphi 10.x
 
 Я не профессионал, я всего лишь любитель
 Я не вредитель, я всего лишь теоретик
 |  |  |  |  | 
| 
| 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 | для записи и извлечения себя в конец - нудно знать размер в байтах себя без прикрепления нагрузки. Читаешь с этого места до конца - получаешь нужный файл |  |  |  |  |