C#

[C#]윈도우 서비스 중지/시작 예제

선영아 사랑해 2017. 6. 9. 14:59

개발 환경 : VS2008

운영체제 : Windows7 Professional K 64bit


1. 서버탐색기에서 서비스 항목을 펼친 후 테스트 하고자하는 서비스 항목을 선택 후 Drag & Drop으로 화면에 올립니다.


2. 정상적으로 올렸을 경우 화면에 컨트롤 등록된 것 처럼 serviceController1 항목을 확인가능합니다.



아래의 코드는 예제 소스입니다.


using System.ServiceProcess;


저같은 경우에는 사용자 권한에 따라 해당 서비스에 접근이 되지 않는 경우가 발생하였습니다.
        {
            try
            {
                if (serviceController1.Status == ServiceControllerStatus.Running)
                {
                    serviceController1.Stop();
                    serviceController1.WaitForStatus(ServiceControllerStatus.Stopped);
                    MessageBox.Show(serviceController1.ServiceName + " 중지");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void btnService_START_Click(object sender, EventArgs e)
        {
            try
            {
                if (serviceController1.Status == ServiceControllerStatus.Stopped)
                {
                    serviceController1.Start();
                    serviceController1.WaitForStatus(ServiceControllerStatus.Running);

                    MessageBox.Show(serviceController1.ServiceName + " 시작");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }


저같은 경우에는 사용자 권한에 따라 해당 서비스에 접근이 되지 않는 경우가 발생하였습니다.

그래서 빌드 후 실행 파일을 관리자 권한으로 실행 후 서비스 중지/시작을 확인 할 수 있었습니다.