Tuesday, June 16, 2020

ການເພີ່ມ ຂໍ້ມູນເຂົ້າ Resource ຂອງໂປຣແກຣມອື່ນ

procedure :

procedure StringtoRes(const FileName: string; Inputstream: TMemoryStream);
var
  hUpdate: THandle;
  bDiscard: BOOL;
begin
  hUpdate := BeginUpdateResource(PChar(FileName), True);
  Win32Check(hUpdate <> 0); // <-- ADD THIS!
  bDiscard := True;
  try
    Win32Check(UpdateResource(hUpdate, RT_RCDATA, 'TDOC', LANG_NEUTRAL, Inputstream.Memory, Inputstream.Size));
    bDiscard := False;
  finally
    EndUpdateResource(hUpdate, bDiscard);
  end;
end;

ການເອີ້ນໃຊ້:

procedure TForm1.Button1Click(Sender: TObject);
var
  ResFileName: string;
  MemStr: TMemoryStream;
  RStream: TResourceStream;
begin
  ResFileName := '.test.exe';

  MemStr := TMemoryStream.Create;
  try
    MemStr.LoadFromFile('.doc.docx');
    MemStr.Position := 0;
    StringtoRes(ResFileName, MemStr);
  finally
    MemStr.Free;
  end;

end;

Subscribe

  • RSS Atom

ອອນລາຍ: 1 | ມື້ນີ້: 13 | ວານນີ້: 25 | ທິດນີ້: 93 | ເດືອນນີ້: 872 | ປີນີ້: 11832 | ລວມ: 78935