Entwickler-Ecke
WinForms - Events für Prozesse
hiwa - Mi 22.04.09 10:34
Titel: Events für Prozesse
Grüsse in die Runde,
man kann ja bekanntlich für Forms Events für Start und Stopp definieren, und dort den
Grund für z.B. Beenden von dem Form abfrage: Bennden von Windows, der Benutzer hat den form beendet, usw.
Beispiel: private void FormClosed(object sender, FormClosedEventArgs e)
Ich suche aber nach solchen Events für Prozessen um sozusagen die Gründe für Beenden oder Starten von einem Prozess zu erfragen,
ob es z.B. durch autostart geschehen ist oder durch UserStart.
Könnt ihr mir da weiter helfen?
Danke
UGrohne - Mi 22.04.09 12:49
Ein Kollege hat sich vor einiger Zeit damit beschäftigt. Du kannst das Ganze über WMI überwachen mit Hilfe eines WqlEventQueries:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| WqlEventQuery query = new WqlEventQuery("__InstanceCreationEvent", new TimeSpan(0, 0, 1), "TargetInstance isa \"Win32_Process\"");
ManagementEventWatcher watcher = new ManagementEventWatcher(); watcher.Query = query; watcher.Options.Timeout = new TimeSpan(7, 0, 0, 0, 0);
OnDebugMessage(String.Format("listening for Process-calls...")); watcher.EventArrived += new EventArrivedEventHandler(watcher_EventArrived); watcher.Start(); |
Dieser Code erzeugt einen Handler der beim Starten von Programmen gefeuert wird, selbes sollte auch für das __InstanceDeletionEvent funktionieren.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!