Я создаю приложение, которое должно отслеживать начало процесса, а затем вызывать событие после его завершения.
У меня есть код, который отлично работает и выполняет именно то, что мне нужно, на английском компьютере, нокогда я запускаю то же приложение на машине с французским языком, оно терпит неудачу.
вот код, который терпит неудачу
qstart = new WqlEventQuery("__InstanceCreationEvent",
new TimeSpan(0, 0, 0, 0, 5),
"TargetInstance isa \"Win32_Process\"");
qstop = new WqlEventQuery("__InstanceDeletionEvent",
new TimeSpan(0, 0, 0, 0, 5),
"TargetInstance isa \"Win32_Process\"");
try
{
using (wstart = new ManagementEventWatcher(qstart))
{
wstart.EventArrived += new EventArrivedEventHandler(ProcessStarted);
Log.DebugEntry("BeginProcess() - Starting wstart Event");
wstart.Start();
}
}
catch (Exception ex)
{
Log.DebugEntry("error on wstart: " + ex.Message);
}
using (wstop = new ManagementEventWatcher(qstop))
{
wstop.EventArrived += new EventArrivedEventHandler(ProcessStopped);
Log.DebugEntry("BeginProcess() - Starting wstop Event");
wstop.Start();
}
ошибка появляется, когда он пытается запустить запрос: wstart.Start ();
и делает то же самое для wstop.Start ();
Я могу только догадываться, что это как-то связано с языком и строкой запроса, но я цепляюсь за соломинку.
Ошибка, с которой он сталкивается: "demande non анализируемый"
Любая помощь с благодарностью получена!
Martyn
Редактировать: Проверено на 2 одинаковых машинах, единственное отличие - язык, выбранный при первом запуске.