快速修改 Delphi 资源
作者: 刘亮亮
最近需要在没有源代码的情况下对delphi 的软件界面最较大调整,翻看了一些资料,没有找到合适方法,经过了自己一天的试验摸索终于找到了一个快捷的方法.
下面总结下来.
需要的工具: eXeScope, Delphi 开发工具
我们以一个共享软件 TCP端口映射工具 来试验说明.
TCP 端口映射工具图标如下:
首先: 用 eXeScope 资源汉化工具打开 tcpmapping.exe 文件, 如下图所示:
用 delphi 和 BCB 编写的软件由于是 VCL 结构,描述界面窗口资源信息放在 RCData 中.
从图中可以看出该软件有 3 个窗口
TFORMABOUT : 关于对话框
TFORMEDITMAP: 设置端口映射工具
TFORMMAIN : 软件的主窗口
下面我们修改 ”关于对话框” 中信息:
选中 “RC数据” 下的 TFORMABOUT, 选择”文件”à“导出” , 保存文件名 “TFORMABOUT.dfm” .
然后: 用Delphi 新建项目, Ctrl+Shift+S 都保存为默认的文件名.
项目名为 Project1.dpr
生成资源文件名Unit1.dfm
步骤1. 把 Unit1.dfm 改名为 Unit1_org.dfm
步骤2. 把 TFORMABOUT.dfm 拷贝到 delphi 项目文件夹,并改名为 “Unit1.dfm”
在delphi 项目中,查看 Unit1.dfm 对应的窗体:
再来看看原始的 tcpmapping.exe 的关于对话框:
此时可以看出,delphi 可以解析编译后的资源文件 *.dfm。
我们在此从视图上修改 Unit1.dfm 的字符串和控件信息,相信大家都没有问题。
修改完成之后,我们进行下面步骤:
1. 把 Unit1.dfm 改名为其他文件”Unit_test.dfm” (此时 Unit_test.dfm 是我们界面资源修改后的文件)
2. 双击 Unit_test.dfm ,在 delphi 中打开它
如下图:
有关 “关于对话框”的 资源描述信息.
最后
全部复制上面的 有关 “关于对话框”的资源描述信息.
右键点击 eXeScope 的 TFORMABOUT 子节点, 覆盖掉 eXeScope 右侧窗口原始的 “关于对话框”的资源描述信息,然后保存退出即可。
此时运行修改后的 tcpmapping.exe , “关于对话框”已修改。
如果大家还有其他更好的方法,欢迎交流。
Email: liang5158270@163.com