A. 请问vb 修改资源文件(即修改字符串表的内容)
只要是标准DLL或EXE,可以使用String Table动态存储数据。
修改思路大致是:1、载入EXE/DLL资源文件;2、计算指定编号字符串的所在组,查找该组字符串表资源;3、读入指定字符串表资源,锁定保护,求得资源大小;4、根据资源长度确定新建/修改字符串数据,新建时按结构建造空内容的字节数组;5、计算字符串实际大小和指针,将修改内容写入动态数组;6、释放EXE/DLL资源文件;7、更新EXE/DLL资源文件,使用API函数BeginUpdateResource \ UpdateResource \ EndUpdateResource;8、根据反馈结果判定修改是否成功。
这里面的难点可能是,在内存中处理数据,就是API函数CopyMemory的使用,注意记录位置和长度的处理。字节数组长度设定可以按一下计算:原始资源总长-(此前长度+指定编号长度单元+指定编号资源原始长度)。
还有,VB6与API中的LoadResString函数是不同的。
用字符串表做简单的注册机,应该够用了。
好几年没玩VB,希望上面的解释可以帮到你。这个模块我以前做过,如果能找到,发给你代码吧。
B. vb中资源文件的修改
filepath=app.path+"\a.txt"
open filepath for input as #1
'filepath指向的是你程序所在目录下的a.txt文件