Wie starte ich einen Prozess, z. B. das Starten einer URL, wenn der Benutzer auf eine Schaltfläche klickt?
155
Wie von Matt Hamilton vorgeschlagen, besteht der schnelle Ansatz, bei dem Sie nur begrenzte Kontrolle über den Prozess haben, darin, die statische Startmethode für die System.Diagnostics.Process-Klasse zu verwenden ...
using System.Diagnostics;
...
Process.Start("process.exe");
Die Alternative besteht darin, eine Instanz der Process-Klasse zu verwenden. Dies ermöglicht viel mehr Kontrolle über den Prozess, einschließlich der Planung, des Fenstertyps, in dem er ausgeführt wird, und, was für mich am nützlichsten ist, der Möglichkeit, auf den Abschluss des Prozesses zu warten.
using System.Diagnostics;
...
Process process = new Process();
// Configure the process using the StartInfo properties.
process.StartInfo.FileName = "process.exe";
process.StartInfo.Arguments = "-n";
process.StartInfo.WindowStyle = ProcessWindowStyle.Maximized;
process.Start();
process.WaitForExit();// Waits here for the process to exit.
Diese Methode ermöglicht weitaus mehr Kontrolle als ich erwähnt habe.
Sie können die System.Diagnostics.Process.Start- Methode verwenden, um einen Prozess zu starten. Sie können sogar eine URL als Zeichenfolge übergeben, wodurch der Standardbrowser gestartet wird.
quelle
Verwenden Sie Process.Start, genau wie Matt sagt .
Sie können eine URL oder ein Dokument übergeben. Sie werden von der registrierten Anwendung gestartet.
Beispiel:
Dadurch wird Notepad.exe mit geladener Text.Txt gestartet.
quelle
Win32Exception
(0x80004005) "Der angegebenen Datei für diesen Vorgang ist keine Anwendung zugeordnet"Ich habe Folgendes in meinem eigenen Programm verwendet.
Es ist ein bisschen einfach, aber es macht den Job für mich.
quelle
quelle
Sie können diese Syntax zum Ausführen einer beliebigen Anwendung verwenden:
Und das gleiche für eine URL. Schreiben Sie einfach Ihre URL dazwischen
()
.Beispiel:
quelle
Verwenden Sie die Process- Klasse. Die MSDN-Dokumentation enthält ein Beispiel für die Verwendung.
quelle
quelle
Erklären Sie dies
Und fügen Sie dies in Ihre Funktion ein (beachten Sie, dass "checkInstalled" optional ist, aber wenn Sie es verwenden, müssen Sie es implementieren)
HINWEIS: Ich bin nicht sicher, ob dies funktioniert, wenn mehr als eine Instanz der EXE-Datei ausgeführt wird.
quelle
Umfassen die
using System.Diagnostics;
.Und dann nenne das
Process.Start("Paste your URL string here!");
Versuchen Sie so etwas:
Bitte beachten Sie, dass es sich als Beispiel um eine ASP.NET-Beispielseite handelt. Sie sollten versuchen, ein wenig zu improvisieren.
quelle
Verwenden Sie zum Starten von Microsoft Word beispielsweise den folgenden Code:
Weitere Erklärungen finden Sie unter diesem Link .
quelle
Bei Verwendung unter Windows
Funktioniert für .Net Framework, aber für Net Core 3.1 muss UseShellExecute auch auf true gesetzt werden
quelle