Форум: "WinAPI";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];
ВнизЗапись в EXE фаил Найти похожие ветки
← →
Mixir (2002-11-23 14:18) [0]Как написать программу которая будет записывать
в другой EXE фаил строку и как этому EXE ее прочитать???
(Нужен пример).Зарание спасибо 8)
← →
ION T (2002-11-23 14:49) [1]Добавь строку в оверлей ехе-шника и последним двордом всунь ее длинну.
← →
Mixir (2002-11-23 20:29) [2]э-э-э-э А по конкретней??? (Напишите пример ПЛИЗЗЗЗЗЗЗ)
← →
ION T (2002-11-23 22:29) [3]Пишешь так:
const
FileName = "anyfile.exe";
var
f: TFileStream;
s: string;
size: integer;
begin
f:= TFileStream.Create(FileName, fmOpenReadWrite);
try
f.Seek(0, soFromEnd);
s:= "cool";
size:= length(s);
f.WriteBuffer(s[1], size);
f.WriteBuffer(size, sizeof(integer));
finally f.Free end;
end;
А читаешь так:
var
f: TFileStream;
s: string;
size: integer;
begin
f:= TFileStream.Create(Application.ExeName, fmOpenRead or fmShareDenyNone);
try
f.Seek(-sizeof(integer), soFromEnd);
f.ReadBuffer(size, sizeof(integer));
f.Seek(-size - sizeof(integer), soFromEnd);
setlength(s, size);
f.ReadBuffer(s[1], size);
edit1.Text:= string(s);
finally f.Free end;
end;
Надеюсь понятно...
← →
Morfein (2002-11-23 23:02) [4]Ну да... метод ещё тот :)))
← →
Mixir (2002-11-24 10:29) [5]Спасибо за инфу :))
← →
Novichek (2002-11-24 14:51) [6]а как приклеить к экзешнику файл а потом его оттуда вытащить?
← →
ION T (2002-11-24 15:11) [7]Точно так же...создаешь два потока, перемещаешся в конец файла и используешь метод CopyFrom()....
> Morfein © (23.11.02 23:02)
Если ты имел в виду что можно запихнуть строку в ресурс со всеми вытекающеми отсюда фиксапами, то можно - напиши код. А можно, если длинна небольшая, то и вместо строки досового стуба записать, можно названия секций переименовать так чтобы они в сумме давали требуемую строку, можно алайнинговые дыры между секциями заполнить, может еще чего можно, но вот файл туда пихать вряд-ли стоит (ну разве что виральный код можно;)
← →
ION T (2002-11-24 15:19) [8]> Novichek © (24.11.02 14:51)
А, это ты про флеш спрашивал?
Если это надо при компиляции, то его в ресурс запихнет сам компилятор (линкер)....на delphibase.endimus.com есть как это делать...но можно и приведенным выше способом...
← →
Novichek (2002-11-24 15:25) [9]ION T © (24.11.02 15:19)
а в каком разделе смотреть?
← →
ION T (2002-11-24 15:47) [10]Короче создаешь flash.rc файл со строкой типа:
MyMovie Flash MyMovie.swf
Отправляешь файл на brcc32.exe кот находится в папке DelphiХ\bin\, получишь файл flash.res, а в коде своей проги напишешь{$R flash.res}
. Вытягивать следующей процедурой:
procedure ExtractRes(const ResType, ResName, ResNewName: string);
var Res:TResourceStream;
begin
Res:=TResourceStream.Create(Hinstance,Resname,Pchar(ResType));
Res.SavetoFile(ResNewName);
Res.Free;
end;
Вызываешь так:
ExtractRes("Flash", "MyMovie", "C:\MyMovie.swf");
← →
Novichek (2002-11-24 16:03) [11]ION T © (24.11.02 15:47)
извини за идиотский вопрос, но как это:"создаешь flash.rc файл"?
← →
Карлсон (2002-11-25 18:33) [12]открываешь "Блокнот", там пишешь нужную тебе строку, потом сохраняешь его с расширением *.rc
← →
SemFLY (2002-11-25 21:05) [13]Novichek, Можно и *.txt файл создать ...
А строку такую в него напиши
MyMovie Flash C:\MyMovie.swf
- - -
Хотя это не принципиально ;)
← →
KSergey (2002-11-28 08:16) [14]Наконец то нашел ссылки в архивах.
Не оспаривая предложенные методы, предлагаю ознакомиться с обсуждением аналогичной темы в архивах
http://delphi.mastak.ru/forum/digest/?M=D
качаем файл forum-11.11.02.zip, в нем смотрим файл main74.html.
PS: если кому надо - могу выслать свои примерчики чтения/записи ресурсов (запись - только на WinNT платформе)
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c