制作RES资源文件

delphi资源文件制作及使用详解 一、引子: 现在的Windows应用程序几乎都使用图标、图片、光标、声音等,我们称它们为资源(Resource)。最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便程序需要的时候调用。资源是程序的一部分,程序要正常运行就离不了资源文件。但是它是不可执行代码。 为了更好地管理资源,Delphi中提供了一种.RES类型的资源文件。它可以把我们程序中所需要的资源整合到一个资源文件(.RES 阅读详情
[转贴]  
  谈资源文件在delphi中的应用  
   
  资源文件一般为扩展名为res的文件。在vc中资源文件用得非常普遍,  
  但delphi在其联机帮助中对资源文件没作什么介绍,其实利用其自带的  
  资源编译工具brcc32.exe(一般位于/delphi/bin目录下),我们完全可  
  以做出跟vc一样效果的文件来。/资源文件最大的好处是能将一些在必要时才调用的文件跟可执行文件一  
  起编译,生成一个文件.这样做最大的好处就是使外部文件免遭破坏.例如  
  在一条程序中你要临时调用一幅图片,一般作法是把图片放在某一路径下  
  ,但如果用户路径误删你的图片文件,则可能  
  使程序找不到相应文件而出错崩溃。另外,如果你想自己的程序界面美观,  
  想用一些自定义光标,也要用到资源文件。  
  资源文件的使用步骤为:  
  1.编写rc脚本文本  
  用记事本或其它文本编辑器编写一个扩展名为rc的文件。例如:  
  mycur   cursor   move.cur   //加入光标  
  mypic   bitmap   water.bmp   //加入位图  
  mywav   wave   happy.wav   //加入声音  
  myavi   avi   epoen.avi   //加入视频  
  myico   icon   cjt.ico   //加入图标  
  格式分别为在资源文件中的名称->类型->实际文件名称,例如上面  
  第一行   定义一个名为mycur的光标,实际名称为加入光标move.cur.  
  2.将rc文件编译成res资源文件  
  将脚本文件和实际文件拷到brcc32.exe所在目录,执行dos命令。  
  格式为:brcc32   脚本文件(回车),例如有一名为myfirst.rc的脚本文件,  
  则执行   brcc32   myfirst.rc(回车)即可。如果你是懒人,也可新建一批  
  处理文件,内容   只有一行:brcc32   mufist.rc.(因为delphi安装后一般会  
  在自动批处理文件中指明搜索路径的。)如果编译成功,则会生成一个结尾  
  为res的文件,这个   文件就是我们需要的资源文件。  
  3.在delphi单元中加入资源文件  
  将生成的res资源文件拷贝到你所编程序的路径下,在单元文件  
  {$r   *dfm}后加上一句{$r   mufirst.res},则将res文件加入去,编译后资    
  源文件即已包含在可执行文件中了。若你有多个资源文件,也按上法依次  
  加入。  
  4.在delphi程序中调用资源文件  
  资源文件在delphi中的关键字为hinstance.下面给出具体用法  
  <1>光标的调用  
  首先在程序中定义一个值大于0的常量,因为delphi本身用0-负  
  16来索引   默认的光标,所以我们制定的光标应从表面上1开始索引。然后  
  在窗口的oncreat事件中添加以下代码:  
  screen.cursor[35]:load   cursor   (hinstance,mycur);  
  其中35为大于1的常量,mycur为光标在资源文件中的名字。如  
  果希望在   其他控件上使用定制光标,例如panel控件,只需在程序的适当  
  处加入以下代码:  
  panel1.cursor:=35;  
  <2>位图的调用  
  新建一项工程,添加一timage控件,在需要显示的地方写以下代码:  
  var   mymap:hbitmap;  
  begin    
  hmymap:=loadbitmap(hinstance,mypic);  
  image1.picture.bitmap.handle:=mymap;  
  end;  
  其中"mypic"为位图资源文件中的名称。  
  〈3〉avi文件的调用  
  新建一工程,添加一animate控件,在需要的地方加入:  
  animater1.resname:=myavi;  
  animater1.active:=true;  
  其中myavi为视频文件在资源文件中的名称。  
  〈4〉调用wav文件  
  在uses中加入mmsystm单元,以便在程序中播放wav文件。播放时playsound  
  (pchar(mywav),hinstance,sndsync   or   snd_resource);其中mywav为声音  
  文件在资源中的名称。  
  〈5〉加入光标  
  加入光标比较容易,只要将res文件加入单元文件中即可。但需注意,名称  
  最好取"w"."ww"等,使第一个字母尽量靠后,以免与主程序的图标顺序颠倒。  
  补充:1.资源类型除上述类型外,还可以字体文件,字符串文件等。  
  2.资源文件不但可以在标准图形界面下使用还可在控制台下使用。  
  下面我们来试验一下:  
  新建一工程,将唯一的一个form删除,然后修改工程文件。增加一句  
  {$apptype   console},在uses子句中加入mmsystem,并将其它引用单元  
  删掉。将begin和end之间语句删掉。至此,我们就可和turbo   pascal  
  下编程序一样,且还可以调用windows的api和资源。将资源文件----  
  {$r   myfist.res}加入。在begin和end之间写下:  
  writeln(演示程序,按任意键开始!);  
  readln;  
  playsound(pchar(mywav),hinstance,snd_sync   or   snd_resource);  
  writeln(演示结束!);  
  运行程序,将弹出一个标准dos窗口,按任意键播放声音文件。是不是很cool呢!  
  我曾下载过一个播放器,在其安装目录下我发现有一"dos程序",用鼠标双击它  
  便弹出一个dos窗口,显示dos时代特有的画图,并有背景音乐!可能就是用这个  
  方法做的。  
  3.delphi本身自带了一个叫image   editor的工具,同样可以编辑资源文  
  本,但和本文的方法比较,可得出下表:  
   
  **************************************  
  image   editor   brcc32  
   
  bmp   只支持16位色   任意色  
   
  光标   黑白两色   任意色  
   
  ico   只支持16位色   任意色  
   
  avi   不支持   支持  
   
  wav   不支持   支持  
   
  字体    
  字符串   不支持   支持  
  其他    
  **************************************** 
RES资源文件编辑器 RES资源文件编辑器,支持PE、DLL、BAK、Bat文件的编译与修改,支持压缩解压缩。 立即下载

相关推荐

如何制作与使用 .RES 资源文件

'这是从资源文件里调用msvbvm60.dll 注册的代码 '本代码是放在模块 Moudule1.bas 里面,不是放在Form1里面的. '要注册.dll .ocx最好是放在.bas里面,并把启动项设为Sub Main '否则有可能在还没进入窗体执行注册的动作前,就产生错误而中断了 '尤其是98系统之下的msvbvm60.dll '先建立一个资源文件, 在 Custom 101 装载 msvbvm60.dll Global winsys$, appdisk$, aa$ Sub Main() On Error Resume Next If App.PrevInstance Then MsgBox "本系统已运行中, 不得重复加载!!", vbOKOnly, "菜鸟多媒体桌面工具": End appdisk = IIf(Right(App.Path, 1) = "\", App.Path, App.Path & "\") winsys = GetSyspath Call regdllocx Form1.Show End Sub Private Sub regdllocx() On Error Resume Next Dim byt() As Byte aa = winsys & "msvbvm60.dll" If Dir(aa) = "" Then byt = LoadResData(101, "CUSTOM") Open aa For Binary As #1 Put #1, 1, byt() Close #1 End If If Dir(aa) "" Then aa = "Regsvr32 /s " & aa Call Shell(aa, vbHide) End If End Sub Public Function GetSyspath() As String '获取system32路径 aa = Trim(Environ("ComSpec")) GetSyspath = Mid(aa, 1, InStrRev(aa, "\")) End Function '直接从资源文件调用 .bmp图片(只允许.bmp),不必释放到硬盘 'Me.Icon = LoadResPicture(101, vbResIcon) '注释:加载图标 'Picture1.Picture = LoadResPicture(101, vbResBitmap) '注释:加载位图 'Command1.MouseIcon = LoadResPicture(101, vbResCursor) '注释:加载光标' '播放 WAVE 声音(只允许.wav) Option Explicit Private Declare Function sndPlaySoundFromMemory Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long Const SND_ASYNC = &H1 Const SND_MEMORY = &H4 Private Sub Command1_Click() Dim bArr() As Byte bArr = LoadResData(101, "CUSTOM") DoEvents sndPlaySoundFromMemory bArr(0), SND_ASYNC Or SND_MEMORY End Sub 本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/cbm666/archive/2008/03/08/2158287.aspx

Android Studio自定义res文件

3.创建你会发现这就是个普通文件,接下来,找到项目的build.gradle文件,添加资源文件配置 sourceSets,把自己创建的文件写进去就行,把build.gradle文件sync一下。进入新公司后,发现项目很大,但是里面的res资源文件夹分成了很多个,这样更有益于大量繁杂的资源分模块管理,于是自己准备搞一个,糊里糊涂的弄了好一会儿才弄起,好的东西记得记录和分享,冲冲冲!2.找到main 新建文件夹,自己取个名字,我这儿随便取个res_ins。

zxz_zxz_zxz的博客 1275

res 文件编辑器

res windows资源文件编辑器,包括字符,图片等

delphi制作res文件

第一步:将brcc32.exe拷贝到某个目录,如“res文件”第二步:制作rc文件1、在“res文件”中新建一个文本文件resources.rc;2、文本文件中每一行写一个资源,资源格式为:资源标识名+空格+资源类型名+空格+资源路径名;注意: 资源路径名规则如下: 资源路径名可以为资源的全路径,如:在“res文件”路径下拷贝资源,目录结构如下: res文件 ...

weixin_33858485的博客 1305

Python 映射函数map()详解

Python 映射函数map()详解

分享我的点点滴滴,在成长路上与你同行! 2141

【技术实践指南】Python解析FactSet Revere供应链数据:构建企业级断裂与重构监测指标

本文提供了一份企业级Python实践指南,详细解析如何利用FactSet Revere供应链数据库,构建供应链断裂与重构监测指标。内容涵盖数据清洗、关系对筛选、时间序列处理及核心指标(断裂、恢复、转移)的工程化实现,旨在帮助数据工程师与分析师搭建自动化、可解释的供应链风险监控系统。

weixin_29051811的博客 934

RC.exe命令行将.rc文件编译为.res文件,解决error RC2144 : PRIMARY LANGUAGE ID not a number报错

RC.exe 此程序为windows sdk中将 .rc 资源文件打包为 .res 文件的系统工具 一篇1999年的介绍该工具使用方法的文章 注意RC.exe 程序依赖于rcdll.dll和部分系统库,单独拷贝使用时需要 rcdll.dll 重点: 形如如下格式的rc文件: STRINGTABLE LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED { 103, "hello" 104, "world" } 如果直接执行命令 (/r 以及

JohnnyRian的博客 1895

【unity知识】最新的虚拟相机Cinemachine3简单使用介绍

本文介绍了Unity中Cinemachine 3虚拟相机系统的使用方法。相比旧版本,新版功能更强大且参数分类更直观。文章详细讲解了摄像机镜头参数、旋转控制(包括None、目标跟随、样条线推拉、旋转追随等6种模式)和位置控制(跟随、样条轨道、硬锁定等5种模式)。重点演示了样条轨道摄像机的创建与配置,以及如何实现第一人称和第三人称视角。通过丰富的GIF图示,展示了各种模式的运行效果,帮助用户快速掌握Cinemachine 3的核心功能。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 866

【CBM666 的如何制作与使用 .RES 资源文件】

2007年04月30日 星期一 08:01 这是从资源文件里调用msvbvm60.dll 注册的代码 本代码是放在模块 Moudule1.bas 里面,不是放在Form1里面的. 要注册.dll .ocx最好是放在.ba

cbm666的专栏 2093

GEE APP:时间序列影像批处理工具:按月筛选与智能导出解决方案出工具

本文介绍了一个基于Google Earth Engine(GEE)开发的智能时序影像处理工具,可高效处理遥感影像时间序列数据。该工具采用三栏式交互布局,包含控制面板、地图显示和缩略图预览区域。核心功能包括:1)灵活的时间筛选机制,支持年度范围选择和月份批量选择;2)智能影像筛选算法,基于云量、空间覆盖等条件自动选择最佳影像;3)交互式缩略图预览,支持点击加载完整影像;4)自动化批量导出系统,实现标准化命名和统一存储。工具可广泛应用于农业监测、城市扩张研究、生态环境评估等领域,显著提高遥感数据预处理效率,确保

此星光明博客 113

基于MATLAB的PDT DMR物理层仿真

PDT DMR物理层仿真的目标是评估系统的误码率(Bit Error Rate,BER),以及验证和优化各种调制方案、编码方案和信道模型。下面将介绍如何进行PDT DMR物理层的仿真,并提供相应的MATLAB源代码。通过上述步骤,我们可以进行基于MATLAB的PDT DMR物理层仿真,并评估系统的性能。根据实际需求,我们可以修改仿真参数和添加更复杂的信道模型,以更全面地评估系统性能。最后,我们可以将仿真结果进行可视化和分析。首先,我们需要设置仿真的参数,包括调制方案、编码方案、信道模型和信噪比等。

TechPulseZ的博客 459

UI架构设计四 — res.txt文件的原理和制作

上篇文章提到,执行: ./image2bin res.txt 就会产生 output_res.bin资源文件了 那么res.txtshi怎么制作出来的,又有什么前提条件。 归根结底,就是执行了这句话: find . -name *.dta | sort > res.txt 这句就是查找所以文件(以dta结尾的),包含的相对文件路径 写到 res.txt文件里面去 上面包含...

liuyuanbin9001 733

【LLC快速上手系列】如何在LLC谐振里优雅地调死区时间?

用示波器死盯Vds波形,找到ZVS临界点;别听“经验值”,亲自调才准;死区时间并非越短越好,也不是越长越稳,而是要“刚刚好”;用热成像看MOSFET温升变化,ZVS调好了,温度马上掉2~5℃;轻载难ZVS?适当提升频率 or 降低Lr可破!

weixin_43199439的博客 493

delphi 制作资源文件

1.编写rc脚本文本用记事本或其它文本编辑器编写一个扩展名为rc的文件。例如:mycur cursor move.cur //加入光标mypic Bitmap Water.BMP //加入位图mywav WAVE happy.wav //加入声音myAVI AVI EPOEN.AVI //加入视频myIco ICON CJT.ICO //加入图标  格式分别为在资源文件中的名称->类型->实际文件

潇湘博客 1514

Java调用YOLOv26全解析:从ONNX模型部署到工业质检实战

本文分享了工业自动化领域使用Java调用YOLOv26进行零件缺陷检测的完整方案。通过YOLOv26s模型结合ONNX Runtime Java部署,误检率和漏检率显著降低(分别从12%降至2.1%,8%降至0.8%)。文章详细介绍了方案选型理由、环境配置避坑指南、ONNX模型导出步骤,以及Maven依赖配置(分CPU/GPU版本)。该方案直接在上位机Java环境中运行,避免了跨语言调用损耗,适合工业质检场景部署,提供了可复用的性能优化和多线程推理实现。

2601_94871597的博客 1108

YOLOv11【第六章:模型压缩与极致优化篇·第15节】YOLOv11 专用剪枝工具库使用指南!

🏆 本文收录于专栏 《YOLOv11实战:从入门到深度优化》。本专栏围绕 YOLOv11 的改进、训练、部署与工程优化 展开,系统梳理并复现当前主流的 YOLOv11 实战案例与优化方案,内容目前已覆盖 分类、检测、分割、追踪、关键点、OBB 检测 等多个方向。

**My Coding Family** 1312

Delphi 7资源文件的使用

在Delphi 7下没有VC下方便的RES资源编辑器,有一个Image Editor,但是功能有限,且支持的格式少。除了可以借用VC的资源编辑器和其他工具,我们还可以手动制作资源文件。

无幻 8564

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

delphi制作资源文件(二)一个A.exe释放出B.exe 并且修改b.exe变量的值

首先,创建一个工程   edit1.txt:=XXXXX xxxxx  就是我们A.exe程序需要修改的值,写成XXXXX  是便于我们好查找它的位置。 打卡,winhex.exe  查找资源文件 的XXXX 位置 地址在   0004DD8C  转换成10 进制就是318844  (这个很关键,记下来) 在工程目录下创建两个文件,

qq_14876677的专栏 1511

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

DELPHI RES资源文件使用方法

1.创建自定义控件的图标 首先用imagetools创建一个dcr文件,然后插入一个bitmap,bitmap名称为如TUV_Rect,画好bitmap后保存整个dcr文件到组件pas文件所在目录,并保存名称为类名去t,然后在该组件中加入预编译指令{$R UV_RECT.dcr},这样重新编译组件即可。 2.组件中需要用到窗体资源等的方法 首先在FORM上放置各类控件,然后...

weixin_30325971的博客 260

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

RES Protocol

详细地介绍一下res://协议的详细用法。Res: //协议是IE 4.0预定义的一个协议,它的基本语法正如你所说的。其中resource file指的是含有资源的模块的文件名,请注意这里的路径分隔符只能使用“\”,而不能使用“/”。 Resourcetype是资源类型,它是一个字符串或数字。常用的资源类型都对应着一个数,比如BITMAP对应着RT_BITMAP=2,这些常数定 义在VC+...

weixin_33888907的博客 289

RES协议

res://协议的详细用法。Res://协议是IE 4.0预定义的一个协议,它的基本语法正如你所说的。其中resource file指的是含有资源的模块的文件名,请注意这里的路径分隔符只能使用“/”,而不能使用“/”。 Resourcetype是资源类型,它是一个字符串或数字。常用的资源类型都对应着一个数,比如BITMAP对应着RT_BITMAP=2,这些常数定义在VC++的WINUSER.H可以

破解之城 1616

从DLL里调用图片-笔记

首先是要做RES文件,刚刚转帖的RES文件制作方法我不敢苟同!因为我用他的方法做出来的RES文件,最后编译成DLL文件后,读取不了图片!用VS查看RES文件,在VS里查看不到图片,全是些二进制代码!但是查看系统的RES文件(在我这里查看的就是程序本身的RES文件,与自己的程序同名),则可以查看到Delphi的经典图标:)。然后我直接用VS制作RES,用导入方式:在Icon上右键->添加资源->

Cubar的专栏 1788

Visual Basic中使用资源的技巧

c        读入的图形资源和使用LoadPicture读入的图象一样使用,省去了调用BitBlt等API函数的麻烦。这些图象资源也可以直接赋给与图象有关的属性,如Picture属性,而这是采用API方法比较难实现的。 一、如何制作资源文件    VB所支持的资源文件必须以.res为扩展名,否则VB将无法正确识别。只要在项目文件中加入.res文件,就可以在程序中调用.res文件中的资源了。

0/1组合 1631

为Lazarus控件指定图标

在自己制作Lazarus控件的时候为控件指定图标

晓风残露 1514

基于CMake的Qt程序设置app图标之法

最近开发一个Qt程序,在程序发布时需要,拟设置app的桌面图标以及win下的状态栏图标。这里记录设置办法,以备不时之需。,提取码:0314。下载后使用该软件完成ICO文件的制作。随后,在Qt项目中,添加该ICO文件,将其放在。可以看到,任务栏和app程序都有了Qt程序图标。此处分享一个ico制作软件,

老中医的博客 4057
上一篇: WMEcoder MSDN翻译[1]
下一篇: 从DLL里调用图片-笔记
Cubar
博客等级 码龄20年 53粉丝 35原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值