读取FRX中的内容并进行替换

feng911 2005-03-22 12:50:34
用文本方式打开VB的FRM(窗体)文件后,一般控件的CAPTION可以找到,但是一些第三方控件的CAPTION找不到的。其Caption = $"Main.frx":07FC,也就是说存在FRX中,那么我怎么样把找出来并进行替换?比如说有一个CAPTION为“帮助”想把它替换为“HELP”或者是其他语言的内容。
我应该怎么样把这个“帮助”跟FRX文件中内容进行比较,如果找到就进行替换?还望高手指点。非常感谢。
...全文
83 点赞 收藏 4
写回复
4 条回复
homezj 2005年03月29日
FRX文件中存放的是二进制数据,虽没见过Caption属性也可用二进制数据,但我想也许是种特殊方法吧!
FRX文件中存放二进制数据的读写格式,我刚才看了一下,现总结给你,参照着做,便可完成读写了。

"Main.frx":07FC指出该数据首字节在Main.frx文件的偏移为07FC,从0开始数,VB读写时应加1
这个位置并不是实际数据入口,二进制数据在写入FRX时,会在实际数据头部加上12个字节,这12个字节实际上是两个结构
Type FrxDataHead
DataLen As Long '其后整个数据的长度,不包括自已所占的4字节
End Type

Type BinDataHead
DataType As Long '数据类型标识,最常见的stdPicture类型标识为 &H746C
DataByteCount As Long '实际二进制数据的长度
End Type
紧随这两个结构之后,才是实际的二进制数据,其长度由 DataByteCount可获取
回复 点赞
kmzs 2005年03月29日
用WinHex等打开也找不到Caption所含的文本吗?
回复 点赞
kmzs 2005年03月23日
可以尝试使用16进制编辑器强写。
回复 点赞
viena 2005年03月22日
不能~
回复 点赞
发动态
发帖子
VB基础类
创建于2007-09-28

2749

社区成员

19.7w+

社区内容

VB 基础类
社区公告
暂无公告