读书人

ManagementEventWatcher怎么判断连接的

发布时间: 2013-12-19 00:33:34 作者: rapoo

ManagementEventWatcher如何判断连接的是手机
WINFORM监听USB插入拔出代码如下附加代码,插入拔出USB设备都能监听到,现在我想监听手机插入拔出
, getEventQuery.Condition = @"TargetInstance ISA 'Win32_DiskDrive' "; 这个值应该修改成什么呢


public void ControlUSBConnectionStatu()
{
ManagementEventWatcher getEventWatcher = null;
WqlEventQuery getEventQuery = null;
ManagementOperationObserver getObserver = new ManagementOperationObserver(); //Bind to Loacl Machine and Watch the PortConnection
ManagementScope getScope = new ManagementScope("root\\CIMV2");
getScope.Options.EnablePrivileges = true;//set requeired
try
{
getEventQuery = new WqlEventQuery();
getEventQuery.EventClassName = "__InstanceOperationEvent";
getEventQuery.WithinInterval = new TimeSpan(0, 0, 0, 1);
getEventQuery.Condition = @"TargetInstance ISA 'Win32_DiskDrive' ";
//[Disk must have DiskDrive fuck ]
//Event Watcher [Test Event and semd informatio to this message and create new informtion .]
getEventWatcher = new ManagementEventWatcher(getEventQuery);
getEventWatcher.EventArrived += new EventArrivedEventHandler(getEventWatcher_EventArrived);
getEventWatcher.Start();//Start Watch Event
}
catch (Exception se)
{
}
finally
{
// getEventWatcher.Stop();
}
}

void getEventWatcher_EventArrived(object sender, EventArrivedEventArgs e)
{
ManagementBaseObject getBaseObject = (ManagementBaseObject)e.NewEvent;
if ((getBaseObject.ClassPath.ClassName == "__InstanceCreationEvent"))
{
//Usb Inserted
MessageBox.Show("USB Disk Inserted!");
}
else
{
//Usb Removed
MessageBox.Show("USB Device Removed!");
}
}


[解决办法]
手机在一定程序上也属于USB存储设备的
你可以在检测时,打开手机软件的特定目录,进行识别

而且好多软件都是手机端、电脑端同时安装进行的识别

仅提供个思路,不知道对不对

读书人网 >C#

热点推荐