2017-07-17 1 views
0

Ich wollte wissen, ob es möglich ist, savefiledialog für ausführbare Dateien in VB.NET zu verwenden. Ich habe versucht, es mit einem Formular zu tun, aber es scheint zu bringen "Diese App kann nicht auf Ihrem PC laufen". Hier ist die Codierung von dem, was ich verwenden wollte:Wie verwende ich Savefiledialog für ausführbare Dateien?

Public Class MainForm 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

     Dim sfd As New SaveFileDialog 
     sfd.Filter = "Executable |*.exe" 
     sfd.ShowDialog() 

     Dim writer As New System.IO.StreamWriter(sfd.FileName) 
     writer.Write(Form2) 
     writer.Close() 

    End Sub 

End Class 
+2

Was in der Welt versuchen Sie zu tun? Das Schreiben eines Formulars in eine Stream-Datei mit dem Namen '.exe' erstellt keine ausführbare Datei. – Plutonix

+1

Ich fürchte, Sie gehen hier falsch vor. 'StreamWriter' konvertiert Ihre _form_ nicht in eine _executable_. Aber wenn Sie versuchen, eine Kopie Ihrer exe zu einem Speicherort/Dateipfad zu machen, der aus einem 'SaveFileDialog' entnommen werden kann, können Sie ** File.Copy ** –

+0

verwenden. Um ein eigenständiges Programm Ihres Formulars zu erstellen, müssen Sie Du hast Zugriff auf den Quellcode in deiner App. Dann müssen Sie diesen Code in eine ausführbare Datei kompilieren. Dieser Prozess ist viel schwieriger als das, was Sie hier versuchen. –

Antwort

0

Auf einer Seite beachten, sollten Sie den Rückgabewert von ShowDialog() werden zu überprüfen, ob der Benutzer geklickt „OK“ (statt nur den Dialog Cancelling), sonst werden Sie einen Dateinamen zu verwenden, werden versuchen, dass der Benutzer nicht einmal ausgewählt hat:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim sfd As New SaveFileDialog 
    sfd.Filter = "Executable |*.exe" 
    If sfd.ShowDialog() = DialogResult.OK Then 
     ' ... do something with "sfd.FileName" ... 
     Console.WriteLine(sfd.FileName) 
    End If 
End Sub 

der Savefiledialog() einfach gibt Ihnen eine Möglichkeit für den Benutzer visuell einen Dateinamen auswählen. Was Sie mit diesem Dateinamen machen, ist ein völlig anderes Problem ...

Verwandte Themen