zoukankan      html  css  js  c++  java
  • 监控USB网卡插拔

     ManagementEventWatcher getEventWatcher = null;
                WqlEventQuery getEventQuery = null;
                ManagementOperationObserver getObserver = new ManagementOperationObserver();
                ManagementScope getScope = new ManagementScope("root\\CIMV2");
                getScope.Options.EnablePrivileges = true;
    
                try
                {
                    getEventQuery = new WqlEventQuery();
                    getEventQuery.EventClassName = "__InstanceOperationEvent";
                    getEventQuery.WithinInterval = new TimeSpan(0, 0, 0, 1);//查询的频率
                    getEventQuery.Condition = @"TargetInstance ISA 'Win32_NetworkAdapter'";//设置查询条件
                    getEventWatcher = new ManagementEventWatcher(getEventQuery);
                    getEventWatcher.EventArrived += new EventArrivedEventHandler(getEventWatcher_EventArrived);
                    getEventWatcher.Start();//Start Watch Event

    下面是 getEventWatcher_EventArrived

            void getEventWatcher_EventArrived(object sender, EventArrivedEventArgs e)
            {
    
                ManagementBaseObject getBaseObject = (ManagementBaseObject)e.NewEvent;
                if ((getBaseObject.ClassPath.ClassName == "__InstanceModificationEvent"))
                {
                    NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
    
                    bool isContains = false;
                    foreach (NetworkInterface adapter in adapters)
                    {
    
                        if (adapter.Description.Contains("HUAWEI"))
                        {
                            isContains = true;
                            break;
                        }
                        else
                        {
                            isContains = false;
                        }
                    }
                    if (isContains)
                    {
                        startDownload();
                    }
                    else
                    {
                        pauseDownload();
                    }
    
                }
            }
  • 相关阅读:
    BZOJ2762: [JLOI2011]不等式组
    BZOJ1452: [JSOI2009]Count
    Codeforces Round #441 (Div. 2, by Moscow Team Olympiad)
    BZOJ1635: [Usaco2007 Jan]Tallest Cow 最高的牛
    BZOJ2730: [HNOI2012]矿场搭建
    Flask实现异步非阻塞请求功能
    在flask中使用websocket-实时消息推送
    Python数据库连接池DBUtils
    flask请求上下文
    scanf与getchar
  • 原文地址:https://www.cnblogs.com/WilliamJiang/p/2455347.html
Copyright © 2011-2022 走看看