Entwickler-Ecke

Basistechnologien - Prozess killen


MrDude - Di 31.10.06 11:54
Titel: Prozess killen
Tach!

Ich will ein kleines Programm schreiben, dass beim Starten den MSN Messenger schliesst. Der Prozess nennt sich msnmsgr.exe.
Weiss Jemand wie ich das anstellen soll?
System.Diagnostics.Process.Kill("msnmsgr.exe"); gibt es ja leider nicht


shil - Di 31.10.06 16:52

warum willst du dafür überhaupt ein programm schreiben?


jasocul - Di 31.10.06 17:47

Man kann den MSN auch deinstallieren. Wer braucht den denn schon. :wink:

Ich kann es im Moment nicht nachsehen, aber Du musst Dir über die Process-Id den Process holen. iirc gibt es eine Process-Klasse, die die Methode Kill kennt. Die Klasse steht vermutlich in System.Diagnostics.

Etwa so:

C#-Quelltext
1:
2:
MeinProcess = process.GetProcessById(id)
MeinProcess.Kill


Ich hoffe, das genügt als Ansatz.


Christian S. - Di 31.10.06 17:58

Würde das so probieren, aber nicht getestet:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
using System.Diagnostics;

/* ... */

            Process[] processes = Process.GetProcessesByName("foobar.exe");

            foreach (Process p in processes)
                p.Kill();


Metrik - Di 31.10.06 21:07

Hallo
Wenn ich dich richtig verstanden habe, willst du das sich er MSN beim Start nicht mehr selber ausführt. Warum nicht das Problem an der Quelle beseitigen ?

Du musst nur in den registry im folgendem Verzeichnis:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run

den Eintrag vom MSN löschen.
(Falls du trotzdem wieder mal willst, das sich der MSN beim Start selber ausführt, musst du einfach den MSN starten, dann schreibt sich das Programm einen neuen Eintrag in die Registry)

Metrik


MrDude - Mi 01.11.06 10:05

user profile iconjasocul hat folgendes geschrieben:
Man kann den MSN auch deinstallieren. Wer braucht den denn schon. :wink:

Ich leider, da ca 150 meiner Freunde MSN benutzen *hoil*

user profile iconshil hat folgendes geschrieben:
warum willst du dafür überhaupt ein programm schreiben?

Den Messenger muss ich manchmal sehr sehr schnell beenden, da zählt jede Sekunde... Und rechtsklick und Beenden dauert nunmal zu lange... ^^

user profile iconMetrik hat folgendes geschrieben:
Hallo
Wenn ich dich richtig verstanden habe, willst du das sich er MSN beim Start nicht mehr selber ausführt. Warum nicht das Problem an der Quelle beseitigen ?

Nein, starten darf er wann er will, ausserdem kann man den start beim Systemstart auch im Messenger abstellen und muss dazu nicht in die Registery (ich meine den MSN Messenger, nich den Windows Messenger)

user profile iconChristian S. hat folgendes geschrieben:
Würde das so probieren, aber nicht getestet:


C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
using System.Diagnostics;

/* ... */

            Process[] processes = Process.GetProcessesByName("foobar.exe");

            foreach (Process p in processes)
                p.Kill();

Funktioniert leider nicht, processes hat immer 0 dimensions.

user profile iconjasocul hat folgendes geschrieben:


C#-Quelltext
1:
2:
MeinProcess = process.GetProcessById(id)
MeinProcess.Kill

Geht leider auch nicht, da ich die ProcessID nicht habe (ich geh mal davon aus, dass die immer wechselt, oder?)
Wo könnte man die ID denn rausfinden?


shil - Mi 01.11.06 10:50

also willst du ein programm haben das dir hilft nicht vom chef beim chatten erwischt zu werden?^^ naja da sag ich mal nix dazu ;P


Christian S. - Mi 01.11.06 11:55

Habe das gerade mal ausprobiert, mit GetProcessesByName die svchost.exe zu finden. Der Name enthält nicht die Endung ".exe". Man sucht dann also nur nach "svchost".


MrDude - Do 02.11.06 14:46

user profile iconshil hat folgendes geschrieben:
also willst du ein programm haben das dir hilft nicht vom chef beim chatten erwischt zu werden?^^ naja da sag ich mal nix dazu ;P

Nein, darum geht es nicht... Das Programm schreib ich für mich zuhause.

user profile iconChristian S. hat folgendes geschrieben:
Habe das gerade mal ausprobiert, mit GetProcessesByName die svchost.exe zu finden. Der Name enthält nicht die Endung ".exe". Man sucht dann also nur nach "svchost".

Aaah! *Bing!* jetzt klappts, danke!


shil - Do 02.11.06 17:55

Oo wozu brauchst du ein program das dir den messanger schnell zumacht? versteh ich einfach net.^^