187 Stimmen

Starten einer Anwendung (.EXE) aus C#?

Wie kann ich eine Anwendung mit C# starten?

Anforderungen: Muss arbeiten an Windows XP y Windows Vista .

Ich habe ein Beispiel von DinnerNow.net Sampler gesehen, das nur unter Windows Vista funktioniert.

243voto

sfuqua Punkte 5483

Hier ist ein Ausschnitt aus einem hilfreichen Code:

using System.Diagnostics;

// Prepare the process to run
ProcessStartInfo start = new ProcessStartInfo();
// Enter in the command line arguments, everything you would enter after the executable name itself
start.Arguments = arguments; 
// Enter the executable to run, including the complete path
start.FileName = ExeName;
// Do you want to show a console window?
start.WindowStyle = ProcessWindowStyle.Hidden;
start.CreateNoWindow = true;
int exitCode;

// Run the external process & wait for it to finish
using (Process proc = Process.Start(start))
{
     proc.WaitForExit();

     // Retrieve the app's exit code
     exitCode = proc.ExitCode;
}

Es gibt noch viel mehr, was man mit diesen Objekten machen kann, Sie sollten die Dokumentation lesen: ProzessStartInfo , Prozess .

184voto

Igal Tabachnik Punkte 30660

Utilice System.Diagnostics.Process.Start() método.

Auschecken dieser Artikel wie es zu verwenden ist.

Process.Start("notepad", "readme.txt");

string winpath = Environment.GetEnvironmentVariable("windir");
string path = System.IO.Path.GetDirectoryName(
              System.Windows.Forms.Application.ExecutablePath);

Process.Start(winpath + @"\Microsoft.NET\Framework\v1.0.3705\Installutil.exe",
path + "\\MyService.exe");

63voto

Mark S. Rasmussen Punkte 33348
System.Diagnostics.Process.Start("PathToExe.exe");

22voto

Adam Kane Punkte 3906
System.Diagnostics.Process.Start( @"C:\Windows\System32\Notepad.exe" );

18voto

NDB Punkte 589

Wenn Sie wie ich Probleme mit der Verwendung von System.Diagnostics haben, verwenden Sie den folgenden einfachen Code, der auch ohne diese Funktion funktioniert:

using System.Diagnostics;

Process notePad = new Process();
notePad.StartInfo.FileName   = "notepad.exe";
notePad.StartInfo.Arguments = "mytextfile.txt";
notePad.Start();

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X