如何使加殼後的vb追加數據不被影響
我用vb造了一個生成器,
是把資料追加至資源101最尾部分
代碼如下
Const FILE_SIZE = 155648
Private Sub Command1_Click()
Dim bInfo As Byte
Dim bFile() As Byte
Dim iInfoLen As Integer
Dim i As Integer, lFile As Long
str2 = Trim(url.Text) '這個是下載的地址
str3 = Trim(time.Text) '這個是保存的路徑
str1 = str2 & "(#) " & str3 '加個#號是為了方便服務端將地址和路徑分離出來
iInfoLen = Len(str1)
If url.Text = " " And time.Text = " " Then
MsgBox "請輸入正確的網址和分鐘! ", , "提示! "
Exit Sub
End If
On Error GoTo myErr:
bFile = LoadResData(101, "CUSTOM ") '讀出101號資源
Open App.Path & "\server.exe " For Binary Access Write As #1 '以二進制的方式打開資源文件即101
For lFile = 0 To FILE_SIZE - 1
Put #1, , bFile(lFile)
Next lFile
For i = 1 To iInfoLen '讀出配置信息並追加就 是寫到文件的尾部
bInfo = Asc(Mid(str1, i, 1))
Put #1, , bInfo '將信息寫入服務端中
Next i
Close #1
Exit Sub
myErr:
Reset '如果有文件未關閉,則關閉之
MsgBox Err.Description & " 程序運行出錯了. "
End Sub
可是, 如果我加殼之後, 文件大小就會改變, 不再是 FILE_SIZE = 155648
那生成後的程序就不能讀取自身尾部的數據
請問如何解決
[解决办法]
计算好你的偏移量,从结尾开始
然后在代码启动后使用filelen函数得到自身文件长度
再减去这个偏移量找到你的东东