首页 > Windows开发 > 详细

C# 查询所有设备的插拔事件

时间:2021-06-01 23:44:05      阅读:25      评论:0      收藏:0      [点我收藏+]

     private void test()

        {

            //Win32_DeviceChangeEvent  Win32_VolumeChangeEvent

            ManagementEventWatcher watcher = new ManagementEventWatcher();

            WqlEventQuery query = new WqlEventQuery("SELECT * FROM Win32_DeviceChangeEvent  WHERE EventType = 2 or EventType = 3");

 

            watcher.EventArrived += (s, e) =>

            {

                var txt = "";

               foreach( var p in e.NewEvent.Properties)

                {

                    txt += "name " + p.Name + " val " + p.Value + "\r\n";

 

                }

                Console.WriteLine(txt);

                //string driveName = e.NewEvent.Properties["DriveName"].Value.ToString();

                //EventType eventType = (EventType)(Convert.ToInt16(e.NewEvent.Properties["EventType"].Value));

 

                //string eventName = Enum.GetName(typeof(EventType), eventType);

 

                //Console.WriteLine("{0}: {1} {2}", DateTime.Now, driveName, eventName);

            };

 

            watcher.Query = query;

            watcher.Start();

            //Console.ReadKey();

        }

C# 查询所有设备的插拔事件

原文:https://www.cnblogs.com/bruce1992/p/14838921.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!