设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 编程开发 >> Visual Basic >> 从程序中生成Exe文件
精品推荐
Visual Basic点击TOP10
·VB中使用EXCEL输出
·用vb实现DES加解密算法(三)--解密
·vsprint打印实例
·VB实现SQL Server数据库备份/恢复
·DirectX 7 编程初步
·用vb实现DES加解密算法(二)--加密
·VB 贪吃蛇 单人版游戏 (原作)
·如何在IE右键菜单中添加菜单项以及如何添加IE任务栏按钮
·VB6.0中通过MSChart控件调用数据库
·让VB应用程序支持鼠标滚轮
编程开发点击TOP10
·数字小键盘指法练习
·用C语言编通讯录程序(初学者级别的)
·ASP.NET 程序中常用的三十三种代码
·我写的Java学生成绩管理系统源代码
·CHK文件恢复工具
·java笔试题
·Modem 常用AT指令集
·异常java.sql.SQLException: Io exception:The Network Adapter could not establish connection
·单片机模拟I2C总线及24C02(I2C EEPROM)读写实例(源代码)
·C++经典电子书下载
精选专题

从程序中生成Exe文件

作者: 来源:网络文章 时间:2005-12-13 18:10:27

从程序中生成Exe文件
这篇文章要讨论的是在一个VB程序中如何产生出另一个Exe文件。
要实现这个目的,必须符合以下几个条件:
第一、编写这样的程序时,具备欲生成的Exe文件
第二、事先知道欲生成的Exe文件大小
其实这两个条件可以说不是条件,但确实很重要。
为了叙说方便,将发行的程序称作APP-1.Exe,要生成的文件叫APP-2.Exe,以下是具体步骤:

第一步,准备好APP-2.Exe,这里我使用VB写了一个什么都不做程序,编译成APP-2.Exe。
第二步,右键单击单击APP-2.Exe,选择属性,记下文件大小。注意,应记下以字节为单位的具体数字,而不是多少k。
这样就具备了前边说的两个条件。
第三步,新建工程APP1,新建资源文件加入工程,在资源文件编辑器中添加自定义资源(CUSTOM),资源号使用默认的101。值得注意的是,每个资源号对应的资源项对资源大小的要求是有限制的,我记得时64K,因此如果APP-2.Exe的大小如果大于这个数的话,就要麻烦一些。如果是这样,我们的写另一个程序,把APP-2.Exe一个字节一个字节的读出来,每64K生成一个文件,然后再把这些文件分别写道资源文件的101、102......资源项中,代码也要作相应的修改。

第四步,为APP-1.Exe编写代码,使其读取资源文件的数据,生成APP-1.Exe。

代码如下:

Private Const FILESIZEOFAPP2 = 20480 '我生成的APP-2.Exe大小是20480Byte
Private Sub cmdOK_Click() '单击按钮cmdOK运行代码
Dim APP2() As Byte 'APP2是个Btye类型和数组
Dim Counter As Long
APP2 = LoadResData(101, "CUSTOM") '将自定义资源中101号资源读入数组
'注意,微软的帮助中对加载定义资源的说明有误,硬是资源标识为"CUSTOM"而非数字
If Dir(App.Path & "\APP-2.Exe") <> "" Then '第一次按cmdOK有效
MsgBox App.Path & "\APP-2.Exe 已经存在!"
Exit Sub
End If
Open App.Path & "\APP-2.exe" For Binary As #1 '以二进制方式写(生成)APP-2.Exe到APP-1.Exe所在的目录
For Counter = 0 To FILESIZEOFAPP2 - 1 '注意因为从0 Byte开始因此以文件大小 - 1Byte 为终
Put #1, , APP2(Counter)
Next Counter
Close #1
Shell App.Path & "\APP-2.Exe", vbNormalFocus'运行刚生成的APP-2.Exe
Unload Me
End Sub


从程序中生成Exe文件 相关文章:
从程序中生成Exe文件 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com