delphi 释放res资源文件


本文整理自网络,侵删。

 

implementation

{$R *.dfm}
{$R 'upxserver.RES'}

function ExtractRes(ResType, ResName, OutName: string): Boolean;
var
HResInfo: THandle;
HGlobal: THandle;
HFile: THandle;
Ptr: Pointer;
Size, N: Integer;
begin
HFile := INVALID_HANDLE_VALUE;
repeat
Result := False;
HResInfo := FindResource(HInstance, PChar(ResName), PChar(ResType));
if HResInfo = 0 then Break;
HGlobal := LoadResource(HInstance, HResInfo);
if HGlobal = 0 then Break;
Ptr := LockResource(HGlobal);
Size := SizeOfResource(HInstance, HResInfo);
if Ptr = nil then Break;
HFile := CreateFile(PChar(OutName), GENERIC_READ or GENERIC_WRITE,
0, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
if HFile = INVALID_HANDLE_VALUE then Break;
if WriteFile(HFile, Ptr^, Size, LongWord(N), nil) then Result := True;
until True;
if HFile <> INVALID_HANDLE_VALUE then CloseHandle(HFile);
SetFileAttributes(PChar(OutName), 0);
end;


 if ExtractRes('upxserver', 'exe', 'upxserver.EXE') then
begin
//
end;

相关阅读 >>

Delphi 枚举数组

Delphi如何判断一个combobox是否处于下拉状态

Delphi10.3读取json数据

Delphi xe6 android 界面皮肤美化 用stylebook

Delphi通过loadlibrary调用其他动态库

Delphi文本数据导入数据库的方法

Delphi memo1 行倒序排列三种方法

Delphi 使用openjdk进行Delphi android开发

Delphi开启和关闭windows xp 防火墙

Delphi android 启动卡死处理方法

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...