Wir versuchen, eine kleine Anwendung zu entwickeln, die die Programme/Prozesse überwachen kann, die in einer Windows-Maschine ausgeführt werden.Wie überwacht man die Prozess-/Programmausführung in Windows?
Wenn das Programm/der Prozess nicht ausgeführt werden soll, sollte er blockiert werden. Es funktioniert ähnlich wie ein Antivirenprogramm.
Dies ist die Grundidee.
Ich möchte die Möglichkeiten kennen, in das Betriebssystem einzubinden, um über jedes einzelne Programm/jeden Prozess benachrichtigt zu werden, der versucht, in der Maschine zu laufen.
Leider scheint WMI Benachrichtigungen bis zu 5 Sekunden später zu liefern, als der Prozess erstellt wurde. Nicht nützlich für Benachrichtigungen in Echtzeit oder für kurzlebige Aufgaben. –
Ich fand ein Beispiel auf der Microsoft-Website für die gleiche Aufgabe [hier] (http://msdn.microsoft.com/en-us/library/system.management.managementeventwatcher.waitfornextevent.aspx?cs-save-lang=1&cs- lang = csharp # code-snippet-1), aber es hat das gleiche Problem. –
Gah ... die Verwendung von WMI ist CPU-intensiver als das manuelle Abfragen der Prozessliste (es passiert nur im WMI-Service-Prozess statt in Ihrem Prozess). Wenn Ihre Anwendung abstürzt, wird das Abonnement weiterhin im WMI-Dienst ausgeführt. –