您的位置:首页 > 编程语言 > VB

如何把一个现成的exe文件合并到合并到我的程序里?运行时再释放出来?

2012-02-26 21:57 821 查看
 用VB的资源编辑器

VB默认的“工具”菜单里是没有这个选项的,在   外接程序\外接程序管理器   的属性页里,把“资源编辑器”勾上启动即可,接着点“工具”,里面就可以看到“资源编辑器”

在“资源编辑器”点击“自定义资源”那个图标(就是倒数第2个图标,问号前面那个)

然后选择你要合并的文件(假如我们添加一个abc.exe,文件大小999字节),这样就把一个文件添加进去,资源编辑器就会出现一个“CUSTOM”目录树,添加进去的文件序号从101开始。

文件大小要自己去查,对着文件点右键,属性里的就有   “大小”

程序如下:

Sub   CreateFile(FileName   As   String,   ResID   As   Integer,   Size   As   Long)

'把资源读取出来保存为文件

On   Error   Resume   Next

Dim   File()   As   Byte   'Btye类型的数组

Dim   Counter   As   Long

Dim   FileNum   As   Integer

FileNum   =   FreeFile()

File   =   LoadResData(ResID,   "CUSTOM ")   '将自定义资源中ResID号资源读入数组

Open   FileName   For   Binary   As   #FileNum   '以二进制方式写文件

For   Counter   =   0   To   Size   -   1   '注意因为从0   Byte开始因此以文件大小   -   1Byte   为终

Put   #FileNum,   ,   File(Counter)

Next   Counter

Close   #FileNum

End   Sub

Private   Sub   Form_Load()

On   Error   Resume   Next

Call   CreateFile(App.Path   &   "\abc.exe ",101,999)   '101是文件的序号,999字节是这个文件的大小

Shell   App.Path   &   "\abc.exe ",   vbNormalFocus   '加上这句就马上运行了

End   Sub

 

 

呵呵,虽然可以,但是大文件效率不高,最好用   WriteFile()   把第二文件加到EXE后面,打开时用

Open   App.Path   &   "\ "   &   App.ExeName   For   Binary   As   FreeFile   的形式打开,用Get()读取。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  exe integer byte file vb 工具
相关文章推荐