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()的总是时候异常!!怪事!

  • 相关阅读:
    jquery_ajax 地址三级联动
    delphi窗体按钮灰化禁用
    sqlserver查找断号,回收单据号
    query.locate过个过滤参数
    StringGrid换行功能
    你不知道的JavaScript--Item13 理解 prototype, getPrototypeOf 和__proto__
    你不知道的JavaScript--Item12 undefined 与 null
    你不知道的JavaScript--Item11 arguments对象
    你不知道的JavaScript--Item10 闭包(closure)
    你不知道的JavaScript--Item9 call(),apply(),bind()与回调
  • 原文地址:https://www.cnblogs.com/linmilove/p/1740107.html
Copyright © 2011-2022 走看看