procedure TForm1.Button1Click(Sender: TObject);
var
mstrm1:TMemoryStream;
update : dword;
workdir:string;
begin
workdir := ExtractFilePath(ParamStr(0));
mstrm1 := TMemoryStream.Create;
mstrm1.LoadFromFile(workdir+'\myexe.exe');//要添加资源
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),'myexe',0,mstrm1.Memory,mstrm1.Size);
EndUpdateResourceW(update ,False);
mstrm1.Free;
ShowMessage('配置完成了');
end;procedure TForm1.Button2Click(Sender: TObject);
var
exe:tresourcestream;
begin
exe:= TResourceStream.Create(HInstance,'myexe',RT_RCDATA);
exe.SaveToFile('e.EXE');
exe.Free;
end;现在是读不到资源 myexe
var
mstrm1:TMemoryStream;
update : dword;
workdir:string;
begin
workdir := ExtractFilePath(ParamStr(0));
mstrm1 := TMemoryStream.Create;
mstrm1.LoadFromFile(workdir+'\myexe.exe');//要添加资源
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),'myexe',0,mstrm1.Memory,mstrm1.Size);
EndUpdateResourceW(update ,False);
mstrm1.Free;
ShowMessage('配置完成了');
end;procedure TForm1.Button2Click(Sender: TObject);
var
exe:tresourcestream;
begin
exe:= TResourceStream.Create(HInstance,'myexe',RT_RCDATA);
exe.SaveToFile('e.EXE');
exe.Free;
end;现在是读不到资源 myexe
你自己看看workdir变量的值,workdir本来就包含了\