プロセスがいつ開始するかを追跡し、プロセスが終了するとイベントを発生させる必要があるアプリケーションを作成しています。
私は完全に機能し、英語のマシンで必要なことを正確に実行するコードを持っていますが、フランス語のマシンで同じアプリケーションを実行すると失敗します。
これが失敗するコードです
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();についても同じことを行います。
言語とクエリ文字列に関係があると推測することしかできませんが、私はストローをつかんでいます。
それが思い付くエラーは次のとおりです: 「分析不可能な要求」
どんな助けでもありがたいことに受けます!
マーティン
編集:2台の同一のマシンでテストされましたが、最初の起動時に選択された言語のみが異なります。