2017-5-8
09:07

root
root

[程序代码]EXE程序生成子EXE写入配置

本文写出一个最基本的从EXE文件中生成出另一个EXE文件,并写入我们的配置信息的程序,希望对大家有帮助。

源代码已做了较详细的解释:

服务端:

Const file_size = 20480
Private Sub Form_Load()
Dim snum As Long
Dim sinfo As String, sappend As Byte
Open App.Path & "\" & App.EXEName & ".exe" For Binary Access Read As #1
Seek #1, file_size + 1 ’'将读取指针定位到文件尾部
For snum = 1 To FileLen(App.Path & "\" & App.EXEName & ".exe") - file_size
Get #1, , sappend ’'读出超出模板大小的字节部分,即我们写进去的配置信息
sinfo = sinfo + Chr(sappend)
Next snum
Close #1
Text1.Text = sinfo
End Sub
保存为工程1.exe。
生成端:
Private Sub Command1_Click()
Const FILE_SIZE = 20480 '这是101号资源中的服务端文件1.exe的大小
Dim bInfo As Byte
Dim bFile() As Byte
Dim iInfoLen As Integer
Dim i As Integer, lFile As Long, filesavename As String
On Error Resume Next
iInfoLen = Len(Text1.Text) 'text1中输入字符的长度
filesavename = Text2.Text & ".exe"      '打开文本中数据然后保存
If Text1.Text = "" Then
MsgBox "请输入内容"
Exit Sub
End If

bFile = LoadResData(101, "CUSTOM") '读出101号资源
Open filesavename For Binary Access Write As #1
For lFile = 0 To FILE_SIZE - 1 '判断资源大小
Put #1, , bFile(lFile) '输出
Next lFile
For i = 1 To iInfoLen '读出配置信息并追加
bInfo = Asc(Mid(Text1.Text, i, 1)) '转换成ASC格式
Put #1, , bInfo
Next i
Close #1
Shell App.Path & "/" & filesavename, vbNormalFocus
'Unload Me
End Sub

添加工程1.exe为自定义资源,生成即可

工程源码示例:本地下载

 

本文转自:http://blog.sina.com.cn/s/blog_5fefbf9a0100ftxs.html

 

文章如需转载请注明:转载自: 紫灵幽梦
« 上一篇 下一篇 »

发表留言: