Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Prozesse eines PCs im Netzwerk auflisten und BEENDEN (https://www.delphipraxis.net/93886-prozesse-eines-pcs-im-netzwerk-auflisten-und-beenden.html)

Max Langer 12. Jun 2007 18:19


Prozesse eines PCs im Netzwerk auflisten und BEENDEN
 
Hier wurde schon einmal gefragt wie man Prozesse übe lan auflisten und beenden kann. Zum auflisten wurde hier eine Methode gezeigt, zum Beenden aber nicht.
Meine Frage ist jetzt, wie kann man einen Prozess über Lan jetzt beenden?
Da ich mich auf dem Gebiet WMI so gut wie nicht auskenn, wollte ich fragen ob man dies realisieren könnte, ohne noch unmengen an code hinzuzufügen.

Danke schon mal im vorraus

Grüße


Max

Max Langer 13. Jun 2007 21:22

Re: Prozesse eines PCs im Netzwerk auflisten und BEENDEN
 
*push*

Cyberbob_at_tot 26. Jun 2007 10:00

Re: Prozesse eines PCs im Netzwerk auflisten und BEENDEN
 
Hallo zusammen,
habe im moment den selben Fall, einsehen der Prozesse kein Problem, aber starten bzw. beenden sehe ich keine Möglichkeit. Gibt es da vieleicht irgentwas neues?

MFG
Cyberbob

Phoenix 26. Jun 2007 10:08

Re: Prozesse eines PCs im Netzwerk auflisten und BEENDEN
 
GuckstDu: http://msdn2.microsoft.com/En-US/library/aa394372.aspx

Das Win32_Process WMI-Objekt hat die Methode Terminate. Und die terminiert den Prozess. Beenden ist also kein Problem.

Interessanterweise hat das Win32_Process WMI-Objekt auch eine Methode namens 'Create'. Was die wohl macht? :zwinker:

Achso: Edit nachträglich weil wegen Einschränkung:
Zitat:

Zitat von MSDN
For security reasons the Win32_Process.Create method cannot be used to start an interactive process remotely.


Cyberbob_at_tot 26. Jun 2007 11:22

Re: Prozesse eines PCs im Netzwerk auflisten und BEENDEN
 
Danke für die Schnelle antwort!

Kannst du mir noch ein Beispielcode geben, wie ich den Wert setze ? Auslesen habe ich nun!

Phoenix 26. Jun 2007 12:22

Re: Prozesse eines PCs im Netzwerk auflisten und BEENDEN
 
Im Prinzip brauchst Du auf dem WMI Objekt wirklich nur .Terminate() aufzurufen. That's it.

Cyberbob_at_tot 26. Jun 2007 13:52

Re: Prozesse eines PCs im Netzwerk auflisten und BEENDEN
 
Hallo zurück,
habe folgendes Versucht, aber bekomme die Fehlermeldung "Unkültige Klasse"

Delphi-Quellcode:
      WMIClass := TWMIClass.Create;
      WMIClass.Connect('', 'root\CIMV2', '', '');
      WMIObject := WMIClass.QueryObj('SELECT * FROM Win32_Prozess WHERE Handle="1524"');
      WMIInst := WMIObject.Methods_.Item('Terminate', 0).InParameters.SpawnInstance_(0);
      WMIObject.ExecMethod_('Terminate', WMIInst, 0, nil);
So richtig verstehen tu ich das auch leider nocht nicht.
Aufbau der Verbindung...dann das Object wählen, hier der Prozess anhand der PID...dann ? ...und dann die Methode ausführen.

Cyberbob_at_tot 26. Jun 2007 14:19

Re: Prozesse eines PCs im Netzwerk auflisten und BEENDEN
 
Ah mit der PID funktioniert es nicht, aber mit dem Namen ja...:)

Delphi-Quellcode:
WMIClass := TWMIClass.Create;
      WMIClass.Connect('', 'root\CIMV2', '', '');
      WMIObject := WMIClass.QueryObj('SELECT * FROM Win32_Process WHERE Name = ''notepad.exe''');
      WMIInst := WMIObject.Methods_.Item('Terminate', 0).InParameters.SpawnInstance_(0);
      WMIObject.ExecMethod_('Terminate', WMIInst, 0, nil);


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz