Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.18;
Скачать: CL | DM;

Вниз

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

 
pwlusa ©   (2002-05-07 21:50) [0]

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


 
ZZ ©   (2002-05-07 23:17) [1]

InsertFileIntoMyFile(MyFile,ChuzhoyFile:String);

Что значит вставить файл ? Куда вставить?
ЗЫ. Запущенный файл не редактируется


 
Almaz ©   (2002-05-08 00:14) [2]


> pwlusa © (07.05.02 21:50)

Изменять файл, запущенный на выполнение, стандартными средствами Windows вообще невозможно. Так что могу лишь посоветовать создать некоторое дополнительное приложение, которое будет запускаться после завершение основного, и дописывать например в конец файла программы необходимые данные. Также задачу можно решить и применением BAT файла.

Удачи.


 
pwlusa ©   (2002-05-20 09:35) [3]

И как написать это приложение?


 
PC Maniac   (2002-05-21 20:15) [4]

Из первой программы запускаете программу 2. Программа 2 дожидается завершения программы 1. Программа 2 записывает в программу 1 данные. Программа 2 завершается.


 
pwlusa ©   (2002-05-24 21:45) [5]

PC Maniac
Это понятно но мне тогда нужен текст второго приложения
Может кто знает?


 
Lego ©   (2002-05-26 04:22) [6]

Интересно... а кто-то знает как вообще WinAmp переписывает ID3 тэг во время проигрывания файла? Очень уж интересно стало...


 
cyborg ©   (2002-05-26 11:41) [7]

Как как? Он его открыл, он в него и пишет.


 
Sergs   (2002-05-26 13:23) [8]

Кто женщину кормит, тот ее и танцует? =)))


 
SergeyKatruk ©   (2002-05-27 23:19) [9]

А зачем тебе это надо ???
Небось вирус злобный пишешь !!! ;-)


 
vopros ©   (2002-05-28 10:46) [10]

Простите идиота но куда в Exe можно писать данные в смысле целый файл?


 
panov ©   (2002-05-28 11:24) [11]

>vopros © (28.05.02 10:46)
Например, в конец файла дописать...


 
vopros ©   (2002-05-28 11:52) [12]

>panov © (28.05.02 11:24)
И что запускаться будет?


 
SEM_   (2002-05-28 12:10) [13]

Конечно будет куда он денется


 
vopros ©   (2002-05-28 12:22) [14]

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


 
pwlusa ©   (2002-05-31 23:36) [15]

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


 
Anatoly Podgoretsky ©   (2002-06-01 10:39) [16]

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


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

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


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

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


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

vixic (25.06.02 07:26)


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


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


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

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


 
VEG ©   (2002-06-25 12:55) [21]

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

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


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

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


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

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

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

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

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

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


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

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


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

www.abfsoftware.com

component TabfFileStorage

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


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

www.abfSowftare.com

component TabfFileStorage



 
y-soft ©   (2002-07-27 20:45) [26]

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


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



 
Rasa ©   (2002-09-18 04:09) [27]

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


 
Mirovodin ©   (2002-09-18 17:16) [28]

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++ и достаточно сложно, иначе нас бы захлестнула волна вирусав :)


 
Mirovodin ©   (2002-09-18 17:18) [29]

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


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

> Mirovodin © (18.09.02 17:16)

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


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

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


 
pwlusa ©   (2002-09-19 17:38) [32]

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


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

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

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

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2002.11.18;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.018 c
1-59201
AlexT1000
2002-11-04 13:58
2002.11.18
Самостоятельная отрисовка главного меню.


3-59046
Wano
2002-10-30 08:42
2002.11.18
БД


1-59134
dj_adrian
2002-11-07 22:53
2002.11.18
Непонятный баг...


4-59501
vidiv
2002-10-08 11:46
2002.11.18
Перетаскивать за панель.


6-59309
goldzoloto
2002-09-21 13:28
2002.11.18
SOS SOS SOS., откликнетесь кто может.