gpt4 book ai didi

delphi - 提取资源文件

转载 作者:行者123 更新时间:2023-12-03 15:20:28 27 4
gpt4 key购买 nike

我已使用 UpdateResource 函数将资源文件附加到现有 exe 文件。

如何提取它?

编辑

这是我将资源文件附加到现有 exe 文件的代码:

Uses Classes, Windows, SysUtils, Dialogs;

Type
TBuffer = Array[0..0] of Byte;
PBuffer = ^TBuffer;

Var
FS : TFileStream;
ResourceHandle : THandle;
DataLength : DWord;
Data : PBuffer;
Ok : Boolean;

Begin
ResourceHandle := BeginUpdateResource(pChar('d:\someexefile.exe'), False);
IF (ResourceHandle <> 0) Then
Begin
FS := TFileStream.Create('d:\somebitmap.bmp', fmOpenRead);
FS.Seek(0, soFromBeginning);
DataLength := FS.Size;
GetMem(Data, DataLength);
FS.Read(Data^, DataLength);
FS.Free;

Ok := True;
IF (not UpdateResource(ResourceHandle, RT_RCDATA, pChar('MyNewResource'), LANG_SYSTEM_DEFAULT{MakeLangID(LANG_NEUTRAL, SUBLANG_NEUTRAL)}, Data, DataLength)) Then Ok := False;

IF (not EndUpdateResource(ResourceHandle, False)) Then Ok := False;

IF (Ok) Then ShowMessage('Update of resources successful!')
Else ShowMessage('Update of resources failed!');

FreeMem(Data);
End;
End.

最佳答案

使用LoadLibraryEx传递LOAD_LIBRARY_AS_IMAGE_
RESOURCE
加载模块,然后 TResourceStream.SaveToFile 保存资源。

我当然假设您不想从正在运行的可执行文件中提取资源。如果是这种情况,您可以直接转到 TResourceStream.SaveToFile

关于delphi - 提取资源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6080872/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com