Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как вставить файл в запущенное приложение? [D6, Win2k]


Страницы:   1 2

pwlusa ©   (2002-05-07 21:50:00) 

Как вставить файл в запущенное приложение?
Нужно чтоб файл вписывался в тело моей программы. И после закрытия остовался в ней.
Заранее спасибо.


Юрий Зотов   (2002-09-20 01:36:00) [1]

> Serg Gurin (19.09.02 01:42)
> Задачи разние бывают и решения то же разными бывают

Это верно. Но, я надеюсь, Ваши файлы вместе с Exe Вы не рассылаете по почте?

А тут получилась обратная ситуация - не задача говорит о решении, а решение говорит о задаче. Вот в чем дело-то.


> pwlusa © (19.09.02 17:38)
> А как его потом можно вытащить из exe файла.

1. resourcestring или LoadStr - для строк.
2. TResourceStream - для любых ресурсов.


pwlusa   (2002-09-19 17:38:00) [2]

Ну спасибо прогеры-мудрецы.
А еще один такой вопросик?
А как его потом можно вытащить из exe файла.
Например у меня есть названия файлов вписанных в exe файле (все происходит при запущенном exe) я выбираю определенное имя у меня должно выскочить окно типа куда его сохранить.
Плиз подскажите.


Serg Gurin   (2002-09-19 01:42:00) [3]

У меня в принципе похожая ситуация:
Есть программа, есть файлы которые должны обязательно! быть при работе программы - это файлы настроек, причем стандарты нечасто, но меняются, а при установке у клиента за три-девять земель бывает что какой-то файл забыли или положили не тот. Так вот чтобы исключить такую ситуацию я запихивал файлы в Exe а при запуске проверял, имеется ли он в наличии, если нет - создавал (сам-себе инсталлятор). Настройки выставляю не я и при этом бы хотелось, что бы они автомтически :( записывались в exe поверх старых. Но не судьба - проблем стало еще больше. Так что пока ручками линкую. - Это все написано по поводу троянов. Задачи разние бывают и решения то же разными бывают, может не оптимальными, но тоже имеющими право на существование.


Юрий Зотов   (2002-09-18 22:45:00) [4]

> Mirovodin © (18.09.02 17:16)

Исходный вопрос:
Как вставить файл в запущенное приложение?


Mirovodin   (2002-09-18 17:18:00) [5]

Sorry, правильно :
RSRC:=FindResource(HInstance, "MYFILE", RT_RCDATA);


Mirovodin   (2002-09-18 17:16:00) [6]

2 pwlusa ©

1) К exe файлу можно прилинковать все что угодно, для этого у PE файла есть спец-я RCDATA.
Делаем след-е.

Допустим нужно сделать дописать к exe файлу файл с названием F1.exe. Создаем RC файл со след-й строкой:

MYFILE RCDATA F1.exe

сохраняем в файле Res.rc , и компилируем brcc32.exe Res.rc

2) В исходнике 1-го приложения присоединяем полученный ресурс
{$R Res.RES}

3) Получаем доступ к ресурсу :

Var
RSRC : HRSRC;
RES : THandle;
P : Pointer;
...
RSRC:=FindResource(HInstance, "GAMEDATA", RT_RCDATA);
RES:=LoadResource(HInstance, RSRC);
P:=LockResource(RES);
...
В P указатель на данные, далее делаем что хотим...

Так можно помещать что угодно картинки, MP3, видео и делать с ним что угодно - сохранять в файл, проигрывать и т.д.

4) Это безобидный способ, а вот если нужно писать вирусы то нужно вклиниваться в чужой процесс. Об этом написано у Рихтера, слава богу что на C++ и достаточно сложно, иначе нас бы захлестнула волна вирусав :)


Rasa   (2002-09-18 04:09:00) [7]

А без unicode никак, да?


y-soft   (2002-07-27 20:45:00) [8]

D"Bug (25.06.02 11:47)
Если согласен ограничиться работой под WinNt/2k, то поищи UpdateResource в Win32SDK


Это не совсем так. BeginUpdateResourceW, UpdateResourceW, EndUpdateResourceW можно использовать и в Win95,98,Me при условии, что установлена поддержка Unicode (нужно скачать с www.microsoft.com unicows.exe и установить) (см. MSDN)


Woland_Form_ABF   (2002-07-26 16:38:00) [9]

www.abfSowftare.com

component TabfFileStorage


Woland_Form_ABF   (2002-07-26 16:36:00) [10]

www.abfsoftware.com

component TabfFileStorage

юзайте...там еще много чего интересного...


Юрий Зотов   (2002-07-24 23:50:00) [11]

> Мне нужен исходник который приписывал бы к exe файлу другой файл.

ОK, уговорили. Bот этот исходник. ПОЛНОСТЬЮ. РАБОТАЮЩИЙ.
copy ExeFile.exe + AttachedFile.ext ExeFile.exe
Bat-файл сами сгенерите, или тоже помощь нужна?

Вот только интересно, а как же адресат его вытаскивать-то будет? Ему же, бедолаге, придется определить, где кончается EXE и начинается аттач. Вот уж помучается-то...

И еще интересно - а зачем же такие навороты? Почему не пересылать файлы НОРМАЛЬНЫМИ способами? Хоть с паролем, хоть без него.

Так что не пудрите людям мозги, юный трояновирусотворец.


> В delphi есть же такая фигня как например приписывает
> графический файл к пректу.

Угу, есть. Ресурсы это называется. Одна лишь деталь - файл приписывается к еще НЕ ЗАПУЩЕННОМУ проекту.


ППавел   (2002-07-24 21:19:00) [12]

Слушайте я так и не получил ответа как мне это зделать!
Мне нужен исходник который приписывал бы к exe файлу другой файл.
В delphi есть же такая фигня как например приписывает графический файл к пректу.


VEG   (2002-06-25 12:55:00) [13]

>Например, в конец файла дописать...

Называеться аттач... Не трудно реализовать через потоки.


D'Bug   (2002-06-25 11:47:00) [14]

Если согласен ограничиться работой под WinNt/2k, то поищи UpdateResource в Win32SDK


Игорь Шевченко   (2002-06-25 09:48:00) [15]

vixic (25.06.02 07:26)


> эй программеры есть компонент который позволяет сохранять
> данные в ехе файл.


Есть. Называется TVirus


vixic   (2002-06-25 07:26:00) [16]

эй программеры есть компонент который позволяет сохранять данные в ехе файл.


WhiteRat   (2002-06-08 21:20:00) [17]

А просто файл данных зашифровать? И с паролем будет...


Anatoly Podgoretsky   (2002-06-01 10:39:00) [18]

vopros © (28.05.02 10:46)
В любое место, которое сочтешь нужным


pwlusa   (2002-05-31 23:36:00) [19]

Первая прога вроде контейнера в который я ложу файлы.
Потом отправляю адресату а он вытаскивает их из него. Естественно все это под поролем.


vopros   (2002-05-28 12:22:00) [20]

Действительно запускается. А помниться в DOS там какие-то контрольные суммы были. Щас дерьма набрал в конце exe и запустлась. Прикол.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо