2017-06-11 2 views
0

ich derzeit folgende eingerichtet haben:Run Exe mit C# Formular

namespace TSRVTC_GUI 
{ 
public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
    } 

    private void btnselect_Click(object sender, EventArgs e) 
    { 
     FolderBrowserDialog fdb = new FolderBrowserDialog(); 
     if (fdb.ShowDialog() == System.Windows.Forms.DialogResult.OK) 
      txtpath.Text = fdb.SelectedPath; 
    } 

    private void btnlaunch_Click(object sender, EventArgs e) 
    { 
     Process.Start(@"fdb\Launcher.exe"); 
    } 
} 

}

Ich versuche, ein Programm in einem anderen Verzeichnis der .exe enthalten zu starten, aber dies nicht Arbeit, wenn mir jemand helfen könnte, würde ich es begrüßen.

Ich entschuldige mich auch für die Rückstruktur dieser Frage, aber ich bin noch neu hier.

+1

müssten Sie den vollständigen Pfad angeben –

+0

der Pfad wäre, was der Benutzer wählt mit ist in 'fdb' –

+0

gespeichert hast du nicht den Pfad in 'textPath.Text' für die exe? –

Antwort

3

Sie Text Eigenschaft txtpath Instanz von TextBox verwenden können, wie Sie den Pfad in der es von FolderBrowseDialog Instanz setzen, können Sie es tun:

Process.Start(txtpath.Text); 

und wenn der Pfad ohne Namen der ausführbaren Datei ist dann werden Sie haben zu schreiben wie:

Process.Start(txtpath.Text+"\launcher.exe"); 

oder mehr besser ist Path.Combine zu verwenden:

Process.Start(Path.Combine(txtpath.Text,"launcher.exe")); 

und für die Verwendung Path Klasse, müssten Sie mit System.IO in den Einsatz Ihrer Klasse hinzufügen.

Hoffe es hilft!

+0

Da die 'fdb' im Code unten nicht existiert, würde das den Effekt bewirken? –

+0

Ich bemerkte, dass Sie 'textpath' verwenden müssen, da Sie den Wert in seiner' Text' -Eigenschaft haben –

+0

Ich habe jetzt ein Problem mit 'Pfad' nicht im aktuellen Kontext vorhanden. Irgendwelche Ideen wie zu beheben? –