Używam ManagementEventWatcher w ciągu ostatnich kilku miesięcy, aby oglądać na rozpoczęcie nowych procesów i działa bez żadnych problemów. Jednak niedawno ponownie wypróbowałem moją aplikację i wydaje się, że wydarzenia związane z nowym procesem nie są już wywoływane.ManagementEventWatcher dla Win32_ProcessStartTrace już nie działa w Win 8.1
Oto przykładowy kod:
var startWatch = new ManagementEventWatcher(new WqlEventQuery("SELECT * FROM Win32_ProcessStartTrace"));
a zdarzenie:
private static void ProcessStart_EventArrived(object sender, EventArrivedEventArgs e)
{
Console.WriteLine("AppStarted");
}
Przetestowałem to też na maszynie innej przyjaciółki (również Win 8.1), który miał starą binarny (który pracował tylko w porządku również w ciągu ostatnich kilku miesięcy), a on już nie przyjmuje wydarzeń.
Problem wydaje się istnieć tylko w systemie Win32_ProcessStartTrace, ponieważ funkcja Win32_ProcessStopTrace działa dobrze i odbiera zdarzenia po zatrzymaniu procesu.
Czy były ostatnio jakieś aktualizacje systemu Windows, które mogłyby w tym przeszkadzać? Środowisko mojego systemu nie zmieniło się od czasu ostatniego działania (oprócz aktualizacji wygranych).
I repro, obecnie jest uszkodzony. Jeśli nie chcesz zadzwonić do pomocy technicznej firmy Microsoft, po prostu poczekaj na nieco nieuniknioną aktualizację. –
Czy ktoś wie, czy Microsoft kiedykolwiek to naprawi? – TTat
Wygląda na to, że zostało naprawione! – TTat