2011-01-25 11 views
1

でWMIを使用してiPhoneを検出します。 iPhoneを接続すると、EventArrivedの機能は決してヒットしません。間違ったイベントを使っていますか?何が間違っているのですか?は、私はそれをコンピュータに接続したときにUSBデバイスを検出するために、次のコードを使用していますC#の

var queryStr = "SELECT * FROM __InstanceCreationEvent WITHIN 2 WHERE TargetInstance ISA 'Win32_PnPEntity'"; 

var watcher = new ManagementEventWatcher(queryStr); 
watcher.EventArrived += DeviceChangeEventReceived; 
watcher.Start(); 

イベントハンドラ:

private static void DeviceChangeEventReceived(object sender, EventArrivedEventArgs e) 
{ 
    var instance = ((PropertyData)(e.NewEvent.Properties["TargetInstance"])); 
    var obj = (ManagementBaseObject)instance.Value; 

    var description = (string)obj.Properties["Description"].Value; 
    var deviceId = (string)obj.Properties["DeviceID"].Value; 
    var status = (string)obj.Properties["Status"].Value; 
} 
+0

これで運 – kakopappa

+0

いいえ、それについて役に立つものは何も見つからないようです。それは残念です。 – MysticEarth

+0

iPhoneが接続されているときにイベントログエントリやレジストリキーが追加されていますか? iPhoneのストレージアタッチメントオプション[phrase?]が有効になっていないと、ドライブが認識されないため、ストレージUSB接続モードの設定を確認すると良いかもしれません。 – Lizz

答えて

1

は、このコードを試してみてください?
関連する問題