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

            }

  • 相关阅读:
    Mysql JSON 新特性用法
    fastjson 使用技巧
    kafka 笔记
    nginx 使用教程
    spring boot 和 spring mvc 使用 jackson 包处理 忽略 null 字段返回
    jmeter 安装使用
    windows 下千万不要用 git的“换行符自动转换功能”
    ps grep awk 结合 xargs kill进程
    linux发行版版本及内核查看
    union 跟 order by同时使用
  • 原文地址:https://www.cnblogs.com/bruce1992/p/14838921.html
Copyright © 2011-2022 走看看