myCSharp.de - DIE C# und .NET Community
Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 
 | Suche | FAQ

» Hauptmenü
myCSharp.de
» Startseite
» Forum
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Suche
   » Plugin für Firefox
   » Plugin für IE
   » Gadget für Windows
» Regeln
» Wie poste ich richtig?
» Datenschutzerklärung
» wbb-FAQ

Mitglieder
» Liste / Suche
» Stadt / Anleitung dazu
» Wer ist wo online?

Angebote
» ASP.NET Webspace
» Bücher
» Zeitschriften
   » dot.net magazin
» Accessoires

Ressourcen
» .NET-Glossar
» guide to C#
» openbook: Visual C#
» openbook: OO
» .NET BlogBook
» MSDN Webcasts
» Search.Net

Team
» Kontakt
» Übersicht
» Wir über uns
» Bankverbindung
» Impressum

» Unsere MiniCity
MiniCity
» myCSharp.de Diskussionsforum
Du befindest Dich hier: Community-Index » Diskussionsforum » Knowledge Base » Artikel » [Tutorial] Prozess/Anwendung aus eigenem Programm starten
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen

Antwort erstellen
Zum Ende der Seite springen  

[Tutorial] Prozess/Anwendung aus eigenem Programm starten

 
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Vellas
myCSharp.de-Mitglied

Dabei seit: 20.07.2003
Beiträge: 846


Vellas  ist offline

[Tutorial] Prozess/Anwendung aus eigenem Programm starten

Beitrag: beantworten | zitieren | editieren | melden/löschen       | Top

Hallo!

Um eine Anwendung aus seinem eigenen Programm heraus zu starten gibt es dafür die Methode start. Hier mal 2 Überladungen:

C#-Code:
string Programmname = "notepad.exe";
System.Diagnostics.Process.Start(Programmname);

C#-Code:
string Programmname = "IExplore.exe";
string Parameter = "www.mycsharp.de";
System.Diagnostics.Process.Start(Programmname, Parameter);

Wobei man eine Webseite auch sehr leich mit dem Standard-Browser wie folgt öffnen kann:

C#-Code:
string Programmname = "www.visual-cplusplus.net"; // Achtung: Schleichwerbung *g*
System.Diagnostics.Process.Start(Programmname);

Eine weitere Möglichkeit wäre z.B. Start Informationen für eine Anendung vor dem Starten auszurufen, wo es beim Aufrufen von Konsolenprogrammen die nur etwas ausführen sollen die schöne Eigenschaft zu verstecken der Konsole gibt, was ein aufblitzen eines Konsolenfensters verhindert. Ein gerne von mir verwendetes Beispiel ist das Folgende:

C#-Code:
// "net send" wird aufgerufen um eine Nachricht zu versenden
System.Diagnostics.ProcessStartInfo sendInfo = new System.Diagnostics.ProcessStartInfo("net.exe","send \"" + empfaenger + "\" \"" + sendText + "\"");
// Fenster des zu startenden Prozesses wird versteckt
sendInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
// Warte mit der Programmausführung bis der Prozess beendet ist
System.Diagnostics.Process.Start(sendInfo).WaitForExit();

Dieser Codeschnipsel ruft das Programm net.exe auf, welches eine Nachricht über den Windowsnachrichtendienst an einen Benutzer im Netzwerk versendet. Parameter sind:
send
Empfänger
Nachricht

WaitForExit() wartet mit der Programmausführung bis net.exe seinen Dienst beendet hat. Diese Funktion ist dann sehr praktisch wenn man zusätzlich noch Abfragen will wie das Programm beendet wurde:

C#-Code:
if(sendInfo.ExitCode==0)
  MessageBox.Show("Die Ausführung war erfolgreich.");
else
  MessageBox.Show("Die Anwendung wurde mit einem Fehler beendet.");

Wenn man von einer Konsolenanwendung den Console-Output benötigt und nicht möchte das ein Fenster, trotz setzen des WindowStyle auf Hidden, erscheint muss man zusätzlich noch die CreateNoWindow-Eigenschaft auf true setzen:

C#-Code:
ProcessStartInfo psi = new ProcessStartInfo("net.exe","send \"" + empfaenger + "\" \"" + sendText + "\"");
psi.WindowStyle = ProcessWindowStyle.Hidden;
psi.CreateNoWindow = true;
psi.RedirectStandardOutput = true;
psi.UseShellExecute = false;

Code-Hacker

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Vellas am 11.08.2006 15:39.

10.06.2004 21:25 Beiträge des Benutzers | zu Buddylist hinzufügen
Baumstruktur | Brettstruktur       | Top 
myCSharp.de | Forum Der Startbeitrag ist älter als 10 Jahre.
Der letzte Beitrag ist älter als 10 Jahre.
Antwort erstellen


© Copyright 2003-2014 myCSharp.de-Team. Alle Rechte vorbehalten. 30.09.2014 21:51