delphi 如何把图片或者RES资源文件增加到已存在的EXE文件中

2025-04-18 13:18:25
推荐回答(1个)
回答1:

procedure TForm1.Button1Click(Sender: TObject);
var
  mstrm1:TMemoryStream;
  update  : dword;
  workdir:string;
begin
  workdir := ExtractFilePath(ParamStr(0));
  mstrm1 := TMemoryStream.Create;
  mstrm1.LoadFromFile(workdir+'\add.ico');//要添加的图标
  mstrm1.Seek(0,soFromEnd );
  mstrm1.Position :=0;
  CopyFile(PChar(workdir+'\test.exe'),PChar(workdir+'\test_add.exe'),True );
  update := BeginUpdateResourceW(PWideChar(widestring(workdir+'\test_add.exe')),False);
  UpdateResourceW(update,PWideChar(RT_RCDATA),'ICORes',0,mstrm1.Memory,mstrm1.Size);
  EndUpdateResourceW(update ,False);
  mstrm1.Free;
  ShowMessage('配置完成了');
end;