首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

ManagementEventWatcher怎么判断连接的是手机

2013-12-19 
ManagementEventWatcher如何判断连接的是手机WINFORM监听USB插入拔出代码如下附加代码,插入拔出USB设备都

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存储设备的
你可以在检测时,打开手机软件的特定目录,进行识别

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

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

热点排行