zoukankan      html  css  js  c++  java
  • 怪事~

       private void Form1_Load(object sender, EventArgs e)
            {
                ConnectionOptions co 
    = new ConnectionOptions();
                co.Impersonation 
    = ImpersonationLevel.Impersonate;
                co.EnablePrivileges 
    = true;
                ManagementScope mgrScope 
    = new ManagementScope(@"\\.\root\default", co);
                WqlEventQuery evQuery 
    = new WqlEventQuery();
                evQuery.WithinInterval 
    = new TimeSpan(000150);
                
    //evQuery.QueryString = @"Select * From RegistryKeyChangeEvent Where Hive='HKEY_USERS' And KeyPath='S-1-5-21-3743974248-512206057-3529231067-1000\\Software\\Microsoft\\Internet Explorer\\Main'";//
                evQuery.QueryString = @"Select * From RegistryKeyChangeEvent Where Hive='HKEY_USERS' And KeyPath='" + GetUserSID() + "\\Software\\Microsoft\\Internet Explorer\\Main'";//

                ManagementEventWatcher RegKeyWacher 
    = new ManagementEventWatcher();
                RegKeyWacher.Query 
    = evQuery;
                RegKeyWacher.EventArrived 
    += new EventArrivedEventHandler(OnRegistryKeyChange);
                RegKeyWacher.Scope 
    = mgrScope;
                RegKeyWacher.Start();

            
            }

            
    private string GetUserSID()
            {
                
    string strUserSID = "";
                ConnectionOptions co 
    = new ConnectionOptions();
                co.Impersonation 
    = ImpersonationLevel.Impersonate;
                co.EnablePrivileges 
    = true;
                ManagementScope mgrScope 
    = new ManagementScope("\\\\.\\root\\cimv2", co);
                ObjectQuery myQuery 
    = new ObjectQuery("SELECT * FROM Win32_UserAccount WHERE Domain=\"" + Environment.UserDomainName + "\"" + " And Name=\"" + Environment.UserName + "\"");
                ManagementObjectSearcher searcher 
    = new ManagementObjectSearcher(mgrScope, myQuery);
                ManagementObjectCollection oReturnCollection 
    = searcher.Get();
                
    foreach (ManagementObject sid in oReturnCollection)
                {
                    strUserSID 
    = sid["SID"].ToString();
                }
                
    return strUserSID;
            }

     

    运行完①②之后,evQuery.QueryString 的值都是一样的,但①可以正常监视,但②RegKeyWacher.Start()的总是时候异常!!怪事!

  • 相关阅读:
    源码解析.Net中IConfiguration配置的实现
    python小工具
    hue搭建以及报错记录
    jenkins启动指定数据目录
    基于三维地图的智慧园区可视化解决方案
    工业4.0的下一个十年
    项目管理知识体系介绍
    人工智能发展的新方向
    速成财务产品经理
    标准化体系:运营—训练—督导
  • 原文地址:https://www.cnblogs.com/linmilove/p/1740107.html
Copyright © 2011-2022 走看看