앙큼한 개발기록

[c#] 프로그램 자동실행 본문

개발

[c#] 프로그램 자동실행

angkeum 2023. 5. 23. 12:08

프로그램을 작업관리자 - 시작프로그램 등록을 통해서 자동으로 윈도우 시작시 등록 할 수 있으나

regedit에서 시작 프로그램을 등록하는 방식으로 

c#에서 코드로 윈도우 시작시 자동으로 프로그램을 등록 할 수 있다. 

 

        private void SaveAutoExe()
        {
            string regPath = @"SOFTWARE\Microsoft\Windows\CurrentVersion\Run";
            string programName = "레지스트리에 등록할 key 이름";

            #if DEBUG
                programName += "_Debug";
            #else  //릴리즈 모드에서만 실행
                programName += "_Release";
            #endif

            try
            {
                using (var regKey = GetRegKey(regPath, true))
                {
                    if (regKey.GetValue(programName) == null)
                    {
                        // key 에 프로젝트 실행 파일이 없는 경우 등록 
                        var name = AppDomain.CurrentDomain.BaseDirectory + AppDomain.CurrentDomain.FriendlyName;
                        regKey.SetValue(programName, name);
                    }
                    else
                    {
                        // key 에 실행 파일이 존재하는 경우 
                        // 삭제 로직 
                        // regKey.DeleteValue(programName, false);
                    }
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }

 

exe파일 혹은 설치형 프로그램이 실행되는 exe파일의 경로를 찾아서 

레지스트리 안에 등록하면 

해당 프로그램이 자동으로 실행된다. 

 

# 프로그램이 자동실행 후 꺼지는 현상

https://angkeum.tistory.com/entry/c-%EC%9C%88%EB%8F%84%EC%9A%B0-%EC%9E%90%EB%8F%99-%EC%8B%A4%ED%96%89-%ED%9B%84-%EA%BA%BC%EC%A7%90

 

[c#] 윈도우 자동 실행 후 꺼짐

c#을 자동실행 등록후 시스템을 다시시작했을 때 프로그램이 켜졌다 꺼지거나 아예 안켜지는 경우가 있다. # 프로그램 자동실행 등록 https://angkeum.tistory.com/entry/c-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%A8-%EC%9E

angkeum.tistory.com

 

Comments