Entwickler-Ecke

Sonstiges (.NET) - [C#] Frage zur System.Diagnostics.Process Klasse


Xardas008 - Mo 18.05.09 17:35
Titel: [C#] Frage zur System.Diagnostics.Process Klasse
Hallo ihr,

mit der oben genannten Klasse ist es möglich, andere Programme wie z.B. den Internet Explorer etc aufzurufen und ihm dabei sogar einen Parameter mitzugeben.
Ich habe mir ein kleines Programm geschrieben, mit welchem ich das Programm Ping.exe mit dem Parameter -t IP-Adresse starte. Soweit so gut.

Jetzt kam von einem meiner Tester die Frage auf, ob ich auch die Dauer von dem Ping damit steuern könne, um beispielsweise zu verhindern, dass ein Ping über Nacht läuft und beim Kunden unnötig Kosten verursacht.
Daher meine Frage, gibt es eine Möglichkeit, auf diesen Process wieder zuzugreifen und beispielsweise ab einer bestimmten Uhrzeit diesen zu killen?

Vermutlich müsste ich das ganze zusätzlich als Dienst programmieren oder?


Ralf Jansen - Mo 18.05.09 18:14

Wenn du einen Prozess mit Process.Start("MeinLieberExecutableName") gestartet hast bekommst du von der Methode eine Instanz der Process Klasse zurück über die du den gestarten Prozess auch wieder beenden kannst (Process.Kill() ).

Wieso benutzt du für einen Ping das Kommandozeilentool und nicht einfach die Ping-Klasse (auf System.Net.NetworkInformation)?


Xardas008 - Mi 03.06.09 18:57

user profile iconRalf Jansen hat folgendes geschrieben:

Wieso benutzt du für einen Ping das Kommandozeilentool und nicht einfach die Ping-Klasse (auf System.Net.NetworkInformation)?


Kann der auch die Befehle, die du bei dem Kommandozeilentool per Parameter mitgeben kannst? (Ich nutze -t für einen dauerhaften Ping). Habe mir grade die MSDN-Hilfe durchgelesen und nichts in der Richtung gefunden.
Das ist nämlich genau das, was ich benötige daher habe ich das über den externen Aufruf gelöst.


Greenberet - Mi 03.06.09 19:31

wie wäre es mit einer schleife?