Hallo und zwar wollte ich via UpdateResource einen String in eine .exe schreiben und diese dann in dem Programm, indem der Text Gespeichert wurde, wieder ausgeben.
Nach langem gesuche habe ich nun den Teil, indem ich einen Text in eine .exe schreiben kann.
Delphi-Quellcode:
function WriteRes(sServerFile: string; pFile: pointer; Size: integer; Name: String): Boolean;
var
Hand: THandle;
pwServerFile: PWideChar;
pwName: PWideChar;
begin
GetMem(pwServerFile, (Length(sServerFile) + 1) *2);
GetMem(pwName, (Length(Name) + 1) *2);
try
StringToWideChar(sServerFile, pwServerFile, Length(sServerFile) * 2);
StringToWideChar(Name, pwName, Length(Name) * 2);
Hand := BeginUpdateResourceW(pwServerFile, False);
Result := UpdateResourceW(Hand, MakeIntResourceW(10), pwName, 0, pFile, Size);
EndUpdateResourceW(Hand, False);
finally
FreeMem(pwServerFile);
FreeMem(pwName);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var Text : string;
begin
Text := Edit2.Text;
WriteRes(OpenDialog1.FileName, @Text, length(Edit2.Text), 'Text');
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if OpenDialog1.Execute then
Edit1.Text := OpenDialog1.FileName;
end;
end.
Nur wie lese ich das, was in Edit2.Text stand in der .exe, in die der Text geschrieben wurde wieder aus?