Hallo,
ich möchte Daten in einer exe-Datei ändern (die auch von mir stammt).
Dazu will ich diesen Code benutzen:
Delphi-Quellcode:
function SetRes(filename, resname, resvalue: string): boolean;
var
hUpdate: THandle;
Size: DWord;
begin
hUpdate := BeginUpdateResource(PChar(filename), false); // <-- oder auf true?
if (hUpdate <> 0) and (hUpdate <> INVALID_HANDLE_VALUE) then
begin
try
Size := Succ(Length(resvalue)) * SizeOf(char);
Result := UpdateResource(hUpdate, RT_RCDATA, PChar(resname),
0, PChar(resvalue), Size);
finally
EndUpdateResource(hUpdate, False);
end;
end;
end;
Allerdings scheint es so, dass ich keine neuen Datensätze hinzufügen kann, sondern nur bestehende ändern. Ich habe zum Test auf irgendeine exe-Datei den obigen Code angewendet und im Hex-Editor festgestellt, dass die Daten nicht hinzugefügt worden sind.
Wie muss ich mein Programm, in das die Daten geschrieben werden sollen, also darauf vorbereiten/ihm erlauben, in es geschrieben zu werden ?
Vielen Dank