zoukankan      html  css  js  c++  java
  • C# 查询所有设备的插拔事件

         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 + " ";

                    }

                    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();

            }

  • 相关阅读:
    【focus-lei 】微服务
    queryURLParams
    时间字符串的处理
    str.charAt()与str[]的区别
    数组去重函数封装
    数组去重的几种方法
    splice与slice区别
    变量与属性名的区别
    parseInt parseFloat Number三者转换的方式
    原生js实现选项卡样式切换的几种方式。
  • 原文地址:https://www.cnblogs.com/bruce1992/p/14838921.html
Copyright © 2011-2022 走看看