private ManagementEventWatcher watcherAttach;
private ManagementEventWatcher watcherRemove;
private ManagementEventWatcher watcherMod;
watcherAttach = new ManagementEventWatcher();
//object sender, EventArrivedEventArgs e
watcherAttach.EventArrived += (s,e) =>
{
var propData = e.NewEvent.Properties["TargetInstance"];
var mbObj = propData.Value as ManagementBaseObject;
if (mbObj.Properties["DeviceID"].Value.ToString().Contains(@"HID\VID_053A&PID_0B01"))
{
// Instance Id can be passed into various API instId = queryObj.GetPropertyValue("PNPDeviceID").ToString();
Debug.WriteLine("Preh device added");
}
};
watcherAttach.Query = new WqlEventQuery("SELECT * FROM __InstanceCreationEvent " +
"WITHIN 2 "+
"WHERE TargetInstance ISA 'Win32_PnPEntity'");
watcherAttach.Start();
watcherRemove.Query = new WqlEventQuery("SELECT * FROM __InstanceModificationEvent " +
"WITHIN 2 " +
"WHERE TargetInstance ISA 'Win32_PnPEntity'");
watcherMod.Query = new WqlEventQuery("SELECT * FROM __InstanceDeletionEvent " +
"WITHIN 2 " +
"WHERE TargetInstance ISA 'Win32_PnPEntity'");
watcherAttach.Stop();
watcherRemove.Stop();
watcherAttach.Dispose();
watcherRemove.Dispose();
Thursday, January 1, 2015
WMI USB Play and Play Device Add, Remove and Modify Event Watcher
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment