Hallo,
wie ich das so sehe, brauchst du die Ressource gar nicht in das andere Programm einbinden, denn das macht UpdateResource gleich mit.
In das Programm welches praktisch gepatcht werden soll habe ich folgenden Code eingefügt:
Delphi-Quellcode:
var
ResStream: TResourceStream;
begin
ResStream:= TResourceStream.Create(HINSTANCE, 'MYTEXT', RT_RCDATA);
try
memo1.Lines.LoadFromStream(ResStream);
finally
ResStream.Free;
end;
Dazu muss die Ressource natürlich schon vorhanden sein.
Das Programm welches die fremde Ressource editiert hat diesen Code:
Delphi-Quellcode:
var
Pfad: AnsiString;
hInst: cardinal;
begin
Pfad:= 'C:\Test.exe';
if FileExists(Pfad) then
begin
hInst := BeginUpdateResource(Pchar(Pfad), false);
if hInst > 0 then
try
UpdateResource(hInst, RT_RCDATA, 'MYTEXT', LANG_NEUTRAL, @memo1.Text[1], length(memo1.Text));
finally
EndUpdateResource(hInst, false);
end;
end;