私はスタブを試してみようとしていますが、私が見たすべてのチュートリアルでは、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)
プロジェクトのリソースからスタブを入力しようとしていますが、それを行に追加すると(次のようになります:)
FileOpen(1, My.Resources.Stub, OpenMode.Binary, OpenAccess.Read, OpenShare.Default)
次に、赤で下線を引き、次のように述べています。
Type 'Byte の 1 次元配列' の値は 'String' に変換できません。
それが言おうとしているのは、.exeを文字列に入れることができないということだと思いますか? 間違っていたら訂正...
私の完全なコードは以下の通りです:
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