Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.06.17;
Скачать: [xml.tar.bz2];

Вниз

Ресурсы в программе   Найти похожие ветки 

 
Vidog@mobzone.org ©   (2007-04-23 08:20) [0]

Как програмно "вшить" в exe"шник какой-то файл, если у меня
есть его [Handle], [FileName] файла, который надо "вшить",
[ResType] и [ResName], которые будит иметь "вшитый" файл.

ЗЫ: Я сделал ф-ю для извлечения файлов из ресурса, но не могу
сделать ф-ю для "вшивания" файлов.

1.)


function ExtractRes(vHandle : Cardinal; ResType, ResName, ResNewName : String) : boolean;
var
Res : TResourceStream;
begin
Result := true;
try
Res := TResourceStream.Create(vHandle, Resname, Pchar(ResType));
Res.SaveToFile(ResNewName);
except
Result := false;
exit;
end;
Res.Free;
end;


2.)

function ExtractResToStream(vHandle : Cardinal; ResType, ResName : String; var vStream : TMemoryStream) : boolean;
var
Res : TResourceStream;
begin
Result := true;
try
Res := TResourceStream.Create(vHandle, Resname, Pchar(ResType));
vStream := TMemoryStream.Create;
Res.SaveToStream(vStream);
except
Result := false;
exit;
end;
Res.Free;
end;


Вызываются следующим образом:

(1)

var
Wnd : Cardinal;

begin
Wnd := LoadLibrary("resources.dll");
ExtractRes(Wnd, "RCDATA", "FILENAME.EXE", "C:\FILENAME.EXE");
end;


(2)

var
Wnd : Cardinal;
Stream : TMemoryStream;

begin
Stream := TMemoryStream.Create;
Wnd := LoadLibrary("resources.dll");
ExtractResToStream(Wnd, "RCDATA", "FILENAME.EXE", Stream);
Stream.SaveToFile("FILENAME.EXE");
end;


Помогите плз, кто может.


 
Сергей М. ©   (2007-04-23 08:27) [1]

см. BeginUpdeteResource + UpdateResource + EndUpdateResource


 
Vidog@mobzone.org ©   (2007-04-23 08:32) [2]

А не мог бы ты представить пример функции, а то эти методы я уже пробовал, но ничего не получается!!!


 
Сергей М. ©   (2007-04-23 08:34) [3]


> эти методы я уже пробовал, но ничего не получается


Это не методы, а функции.

Показывай что делал и что не получается ...


 
Vidog@mobzone.org ©   (2007-04-23 08:43) [4]

1)Беру Stream : TMemoryStream;
2)Открываю в него нужный мне файл
3)Дописываю в ResourceStream через Write(Stream, SizeOf(Stream));
4)Сохраняю полученный ResourceStream как новый exe файл


 
Vidog@mobzone.org ©   (2007-04-23 08:44) [5]

После этого файл не читается..Как я понимаю чего-то не так делаю...


 
Vidog@mobzone.org ©   (2007-04-23 08:47) [6]

BeginUpdateResource("Test.exe", false);
UpdateResource(Что тут?, "RCDATA", "1.EXE", Какая-то константа?, А тут?, И тут?);


 
Сергей М. ©   (2007-04-23 08:56) [7]

http://www.google.ru/search?hl=ru&newwindow=1&client=firefox-a&rls=org.mozilla%3Aru%3Aofficial&hs=61&q=Delphi+BeginUpdateResource&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA&lr=lang_ru


 
Vidog@mobzone.org ©   (2007-04-23 08:59) [8]

Спасибо хоть за это..:)



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

Форум: "Основная";
Текущий архив: 2007.06.17;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.041 c
1-1176961998
Slider007
2007-04-19 09:53
2007.06.17
Возвращение результата формы (не ModalResult)


2-1180094400
JanMihail
2007-05-25 16:00
2007.06.17
Запись цветного текста в файл


1-1176894953
Jioniro
2007-04-18 15:15
2007.06.17
Определение координат


2-1179920714
Просто_новичок
2007-05-23 15:45
2007.06.17
Быстрота циклов


6-1164229160
flaxe
2006-11-22 23:59
2007.06.17
Заблокировать Всю Сеть





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский