私は、着信 USB デバイスを検出して GUI アプリケーションを起動する単純な Windows サービスを作成しようとしています。
WqlEventQuery query = new WqlEventQuery("SELECT * FROM Win32_VolumeChangeEvent WHERE EventType = 2");
watcher.EventArrived += watcher_EventArrived;
watcher.Query = query;
watcher.Start();
watcher.WaitForNextEvent();
このソリューションは Win 7 ではうまく機能しますが、XP では失敗します (私は XP SP3 を持っています)。
ここで別の解決策を見つけました
http://www.codeproject.com/Articles/63878/Enumerate-and-Auto-Detect-USB-Drives
これは、Windows XP でも Windows フォーム アプリケーションで非常にうまく機能しますが、Win 7 でもサービスを開始すると失敗します。
助けていただけますか?
EDIT 1: 現在、コードをWindowsサービスに配置すると、win XPで機能するソリューションはありません。
敬具
バーラト