C# Prozesse Beenden

Status
Nicht offen für weitere Antworten.

meisti94

Erfahrenes Mitglied
Kann man mit der Sprache C# über einen Knopf einen Task beenden lassen?

Also zum Beispiel, dass man im Programm auf den Knopf drückt und es Firefox schliesst?

Wenn ja, wie?

Danke im Voraus.
 

CHTMLVBFeli

Mitglied
Also oben
Code:
using System.Diagnostics;

und dann in den button:

Code:
 Process[] pp = Process.GetProcessesByName("Hier das Programm");
            foreach (Process p in pp)
            {
                p.Kill();
          
            }
bei hier das programm
ich glaub Firefox ist firefox
Liebe Grüße
CHTMLVBFeli
 

rd4eva

Erfahrenes Mitglied
Wäre zu erwähnen das Kill noch die unschönste Methode ist.
Warum das so ist steht in der Doku:
Data edited by the process or resources allocated to the process can be lost if you call Kill. Kill causes an abnormal process termination, and should be used only when necessary. CloseMainWindow enables an orderly termination of the process and closes all windows, so it is preferable for applications with an interface. If CloseMainWindow fails, you can use Kill to terminate the process. Kill is the only way to terminate processes that do not have graphical interfaces.
Sofern der Process über ein Mainwindow (wie z.B. firefox) verfügt sollte man die Methode CloseMainWindow() verwenden.
Wobei firefox dann unter Umständen noch fragt ob die Session erhalten bleiben soll was eventuell auch wieder nicht gewünscht ist.

Ansonsten bliebe noch ein WM_CLOSE per pInvoke zu senden. (Nichts anderes macht CloseMainWindow() im Prinzip)
 

CHTMLVBFeli

Mitglied
Da hast du recht!
Aber ich benutze es.
Wie rd4eva schon gesagt hat :

Code:
Process[] pp = Process.GetProcessesByName("taskmgr");
            foreach (Process p in pp)
            {
                p.CloseMainWindow();// Normales ende
                //p.Kill(); sofort beenden
            }

Liebe Grüße
CHTMLVBFeli
 

meisti94

Erfahrenes Mitglied
Also ich will eigentlich dass er gerade weggeht.. Wisst ihr per Zufall auch noch, wie man was in der Registry sperren kann?^^

Will meinen Kollegen überraschen :p
 

meisti94

Erfahrenes Mitglied
Per Knopfdruck den Wert: "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System - DisableTaskMgr" auf 1 ändern :)
 

meisti94

Erfahrenes Mitglied
Kommt draufan. Bei mir musste ich zuerst noch System/DisableTaskMgr hinzufügen.. Manchmal fehlt der und manchmal ist er bereits vorhanden...
 
Status
Nicht offen für weitere Antworten.

Neue Beiträge