Hallo
Ich möchte gerne eine
DFM (RC_DATA) Resource im Speicher modifizieren.
Bisher habe ich nur gefunden wie ich mit UpdateResource + BeginUpdateResource eine EXE Datei modizifzieren kann.
und dieses Stückchen Code
Delphi-Quellcode:
procedure WriteResource(const ResName: string; ResType: PChar; data : PChar; len : integer);
var
Res: HRSRC;
ResHandle: HGLOBAL;
Ptr: Pointer;
OldProtect: DWORD;
begin
Res := FindResource(HInstance, PChar(ResName), ResType);
Win32Check(Res <> 0);
ResHandle := LoadResource(HInstance, Res);
Win32Check(ResHandle <> 0);
Ptr := LockResource(ResHandle);
Win32Check(Ptr <> nil);
Win32Check(VirtualProtect(Ptr, SizeofResource(HInstance, Res), PAGE_READWRITE, OldProtect));
ZeroMemory(Ptr, SizeofRes ource(HInstance, Res));
Win32Check(VirtualProtect(Ptr, SizeofResource(HInstance, Res), OldProtect, OldProtect));
end;
Das wäre im Prinzip schon sowas was ich brauche, nur habe ich das Problem das ich da den Inhalt nicht nur überschreiben will, osndenr sich auch die Größe ändert (kleiner - geht ja eventuell) aber auch größer.
Hat da wer eine Idee?