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
uj5u.com熱心網友回復:
mstrm1.LoadFromFile(workdir+'\myexe.exe'); 確保路徑正確uj5u.com熱心網友回復:
這個肯定是正確的了
uj5u.com熱心網友回復:
來個大俠啊。。。。uj5u.com熱心網友回復:
load完之后,監視流物件是不是nil,它的長度是不是0,判斷有沒有載入進來。你的問題描述不清,程式最后的運行結果是怎樣,你想要的結果是怎樣,中間出了什么例外,都要描述出來別人才好分析嘛uj5u.com熱心網友回復:
多了一個反斜杠你自己看看workdir變數的值,workdir本來就包含了\
uj5u.com熱心網友回復:
myexe 用大寫。uj5u.com熱心網友回復:
用大寫還是不行
uj5u.com熱心網友回復:


轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/123452.html
