Einzelnen Beitrag anzeigen

thomasschaf
(Gast)

n/a Beiträge
 
#1

UpdateResource: Daten einbinden

  Alt 13. Mär 2012, 17:52
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
  Mit Zitat antworten Zitat