Wie kann ich eine Anwendung mit C# starten?Starten einer Anwendung (EXE) von C#?
Anforderungen: Muss auf Windows XP und Windows Vista arbeiten.
Ich habe ein Sample von DinnerNow.net Sampler gesehen, das nur in Windows Vista funktioniert. Vista.
Wie kann ich eine Anwendung mit C# starten?Starten einer Anwendung (EXE) von C#?
Anforderungen: Muss auf Windows XP und Windows Vista arbeiten.
Ich habe ein Sample von DinnerNow.net Sampler gesehen, das nur in Windows Vista funktioniert. Vista.
Verwenden Sie System.Diagnostics.Process.Start()
Methode.
Schauen Sie sich this article an, wie man es benutzt.
System.Diagnostics.Process.Start("PathToExe.exe");
Zusätzlich sollten Sie die Umgebungsvariablen für Ihre Pfade verwenden, wenn überhaupt möglich: http://en.wikipedia.org/wiki/Environment_variable#Default_Values_on_Microsoft_Windows
Z.B.
Es gibt viele mehr überprüfen Sie den Link für eine längere Liste.
Hier ist ein Ausschnitt von 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 viel mehr ist, können Sie mit diesen Objekten zu tun, sollten Sie die Dokumentation lesen: ProcessStartInfo, Process.
Ich wollte nur darauf hinweisen, dass dies auch mit anderen Dateitypen als .exes zu funktionieren scheint. Zeigen Sie einfach auf die Datei, die Sie öffnen möchten, und Windows wird versuchen, sie zu öffnen: System.Diagnostics.Process.Start (@ "C: \ Users \ Blank \ Desktop \ PdfFile.pdf"); – DLeh
WindowStyle = ProcessWindowStyle.Hidden ist für nicht-GUI.Das erste Mal, dass ich das ausgeführt habe, ist es ohne UseShellExecute = false gescheitert, aber es funktioniert jetzt. Ich bin mir nicht sicher, was dort los ist ... – Barton
Ehrlich gesagt habe ich das noch nie mit einer GUI-App versucht. – sfuqua
System.Diagnostics.Process.Start(@"C:\Windows\System32\Notepad.exe");
Wenn Sie Probleme mit System.Diagnostics haben, wie ich hatte, verwenden Sie die folgenden einfachen Code, der ohne es funktioniert:
Process notePad = new Process();
notePad.StartInfo.FileName = "notepad.exe";
notePad.StartInfo.Arguments = "mytextfile.txt";
notePad.Start();
Wie ist das "ohne System.Diagonostics"? 'Process' befindet sich in System.Diagnostics. –
Verwenden Process.Start einen Prozess zu starten.
using System.Diagnostics;
class Program
{
static void Main()
{
//
// your code
//
Process.Start("C:\\process.exe");
}
}
setzen Sie Ihre file.exe in dem \ Debug-Ordner \ bin und verwenden:
Process.Start("File.exe");
Wie verbessert sich Ihre Antwort auf alle vorherigen? – mustaccio
Versuchen Sie folgendes:
Process.Start("Location Of File.exe");
(Stellen Sie sicher, dass Sie die System.Diagnostics-Bibliothek verwenden)
Adame Kane
System.Diagnostics.Process.Start(@"C:\Windows\System32\Notepad.exe");
das hat super funktioniert !!!!!
Was ist, wenn ich den vollständigen Namen der exe nicht kenne, möchte ich "PathTo * .exe" aufrufen Ist das möglich? – vishal