OK habe das ganze jetzt so abgeändert:
Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
var Ico: TIcon;
Stream : TMemoryStream;
hInst: THandle;
ptr : Pointer;
begin
Ico:=TIcon.Create;
Ico.LoadFromFile('c:\icon.ico');
Stream := TMemoryStream.Create;
Ico.SaveToStream(Stream);
Ico.Free;
getmem (ptr, Stream.size + 1);
try
Stream.Seek(soFromBeginning, 0);
Stream.read(ptr^, Stream.size);
hInst:=BeginUpdateResource(Pchar('C:\MeineExe.exe'), False);
if hInst > 0 then
begin
UpdateResource(hInst, RT_GROUP_ICON, 'MAINICON', 1031, ptr, Stream.size);
EndUpdateResource(hInst, False);
end;
finally
freemem (ptr, Stream.size + 1);
stream.Free;
end;
end;
Das Programm löscht alle alten Icons in der Exe so wie es soll und erstellt nur ein Symbol und das ist leer.
-Wieso ist das leer?
-Und Wieso wird nur ein Symbol erstellt?
Bitte um Hilfe!