suroMind

[C#] 윈도우 시작시 프로그램 자동 실행 레지스트리 등록 본문

IT분야/C#

[C#] 윈도우 시작시 프로그램 자동 실행 레지스트리 등록

suroMind 2011. 11. 3. 13:50

어플리케이션 안에서 체크박스로 윈도우 시작시 자동 실행이라는 항목을 구현할 때가 있습니다.
아래처럼 레지스트리로 등록하여 사용합니다.
RegistryKey registryKey = Registry.CurrentUser.OpenSubKey(
                                @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run", true);
          //레지스트리 등록 할때
          if (registryKey.GetValue("MyApp") == null) {
              registryKey.SetValue("MyApp", Application.ExecutablePath.ToString());
          }
          //.................................................................
          //레지스트리 삭제 할때
          if(registryKey.GetValue("MyApp") == null){
              registryKey.DeleteValue("MyApp", false);
          }

GetValue 메소드는 레지스트리에 등록이 안되어 있으면 null을 리턴해줍니다.
등록 및 삭제할때 위 코드로 적절하게 사용하면 되겠습니다.

확인은  registryKey.GetValueNames() 함수를 호출하면 등록된 시작프로그램의 이름을 배열로 리턴해주니 확인 하시던지
아니면 명령창에서 regedit치시고 레지스트리 편집기에서 본인의 어플리케이션 이름으로 검색해보시면 됩니다.

Comments