메뉴 바로가기

서브메뉴 바로가기

본문 바로가기

logo

C# .NET 자료실

소스
     WATRegEvent_1.zip


   레지스트리가 변경사항을 이벤트로 받을수 있는 라이브러리 사용 예제입니다.

   레지스트리 추가/삭제 에 대한 이벤트를 처리할수 있으며

   파라미터로는 레지스트리키명, 레지스트리 수, 레지스트리 수의 증가 또는 감소 상태 등을 알수 있습니다.


  watregChange.gif  

네임스페이스 추가 및 인스턴스 선언
    WATRegNotifyDll 네임스페이스가 사용되며, WATRegNotify 클래스가 사용됩니다.
    using WhiteAT.RegNotify;
      WatRegValueNotify regValNofify;     // value  변경 이벤트
      WatRegKeyNotify regKeyNotify;       // key  변경 이벤트


감시 시작
        if (true == regValNofify.Initialize(cbHive.Text, txbKeyValue.Text))
        {
            regValNofify.WatchSubTree = false;
            regValNofify.RegChanged += new EventHandler(regValNofify_RegChanged);
            regValNofify.RegError += new EventHandler(regNofify_RegError);
            regValNofify.StrDescription = "레지스트리 val 테스트중 software";
            regValNofify.Start();
        }

 


        if (true == regKeyNotify.Initialize(cbHive.Text, txbKeyValue.Text))
        {
            regKeyNotify.WatchSubTree = false;
            regKeyNotify.RegChanged += new EventHandler(regKeyNofify_RegChanged);
            regKeyNotify.RegError += new EventHandler(regNofify_RegError);
            regKeyNotify.StrDescription = "레지스트리 key 테스트중 software";
            regKeyNotify.Start();
        }

 

정지
        regNofify.Dispose();

레지스트리가 변경되었을 때
        // 레지스트리 Value 가 변경되었을 때
        void regValNofify_RegChanged(object sender, EventArgs e)
        {
            WATRegChangeEventArgs info = e as WATRegChangeEventArgs;

            string strResult = "registry VAL has changed : " + info.StrHive+"\\"+info.StrSubName +"("+info.StrDescription+")";
            Trace.WriteLine(strResult);
            txbResult.Text += "\r\n" + strResult;
        }

        // 레지스트리 KEY가 변경되었을 때
        void regKeyNofify_RegChanged(object sender, EventArgs e)
        {
            WATRegChangeEventArgs info = e as WATRegChangeEventArgs;

            string strResult = "registry key has changed : " + info.StrHive + "\\" + info.StrSubName + "(" + info.StrDescription + ")";
            Trace.WriteLine(strResult);
            txbResult.Text += "\r\n" + strResult;
        }

 

 

에러가 발생했을 때
        void regNofify_RegError(object sender, EventArgs e)
        {
            MessageBox.Show("실패");
        }

 

 

변경 내용
        2010-10-09 : Key 변경 이벤트, Value 변경 이벤트  2가지로 세분화

        2010-10-15 : 서브키 추가/삭제 시에 해당 서브키명을 알수 있게 수정

                          DLL 파일명 별도로 올리니 [참조]파일을 변경해서 사용하세요.   WATRegNotifyDll.dll

                                

관련 문서가 검색되었습니다.
  1. [2018/02/26] List 에서 고유값 얻기 by WhiteAT ()
  2. [2016/09/24] XML 으로 환경설정 저장하기 ( \n,엔터값 포함, NewLine) by WhiteAT (9667)
  3. [2015/05/22] C#, 아두이노 간의 WIFI 통신으로 LCD 제어 by WhiteAT (4565)
  4. [2015/03/13] 항상 마지막에 추가한 TEXT 보이게 by WhiteAT ()
  5. [2014/10/07] Activity 변경 by aaaa (1828)
  6. [2014/01/17] ComboBox Text 편집 안되게 by WhiteAT (14490)
  7. [2014/01/08] if 문에서 여러개 비교할때 by WhiteAT (25339) *3
  8. [2013/12/30] C++, C# 간단한 기능 비교 by WhiteAT (12884)
  9. [2013/12/18] 3자리마다 ,(콤마) 찍기 (원화, 달러 표시) by WhiteAT (15224)
  10. [2013/11/29] c# 윈도우 폼 컨트롤 순서 by Question (12820) *1