我正在尝试使用Stubs和我见过的所有教程告诉你如何获取Stub.exe:
FileOpen(1, Application.StartupPath & "\sub.exe", OpenMode.Binary, OpenAccess.Read)
这是后来的解释:
FileOpen(Reference number, file name including the path, mode to open the file as, Mode Of Access)
我试图从我项目中的资源输入Stub但是当我将它添加到该行时(它看起来像这样:)
FileOpen(1, My.Resources.Stub, OpenMode.Binary, OpenAccess.Read, OpenShare.Default)
然后用红色强调它并说:
类型'字节1维数组'的值无法转换为 字符串 ''。
我相信那是试图说的.exe不能放入String吗?如果我错了,请纠正我......
我的完整代码如下:
Public Class Form1
Const FileSplit As String = "|split|"
Dim stub, text1, button As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sfd As New SaveFileDialog
sfd.Filter = "Executables(.exe)|*.exe"
If sfd.ShowDialog = Windows.Forms.DialogResult.OK Then
text1 = TextBox1.Text
button = TextBox2.Text
Else
Exit Sub
End If
FileOpen(1, My.Resources.Stub, OpenMode.Binary, OpenAccess.Read, OpenShare.Default)
stub = Space(LOF(1))
FileGet(1, stub)
FileClose(1)
FileOpen(1, sfd.FileName, OpenMode.Binary, OpenAccess.ReadWrite, OpenShare.Default)
FilePut(1, stub & FileSplit & text1 & FileSplit & button)
FileClose(1)
MsgBox("Success")
End Sub
End Class
答案 0 :(得分:0)
使用代码将存根从资源复制到应用程序启动文件夹中。使用代码复制“表单加载”中的存根。所以当你转移应用程序时,只要你打开应用程序,存根就会存在。
答案 1 :(得分:0)
使用此代码:这适用于我的活页夹,即时使用此... 把这个代码放在你的form1.load ........如果不能正常工作,请给我发电子邮件 在jhonniewalker58@gmail.com
If My.Computer.FileSystem.FileExists(Application.StartupPath & "\stub.exe") = False Then
IO.File.WriteAllBytes(Application.StartupPath & "\stub.exe", My.Resources.stub)
End If