c# 윈도우 서비스 프로그램 예제

다른 사용자가 Windows 서비스를 설치하는 데 사용할 수 있도록 독립 실행형 설치 프로그램을 만듭니다. WiX 도구 집합을 사용하여 Windows 서비스에 대한 설치 관리자를 만듭니다. 다른 아이디어는 설치 관리자 패키지 만들기를 참조하십시오. 먼저 IDE를 로드하고(내 IDE는 무료 Visual C# 2005 익스프레스 에디션임) 빈 프로젝트를 만듭니다. 당신은 메뉴를 클릭하여 VC # 2005 EE에서이 작업을 수행 할 수 있습니다 : [파일]->[새 프로젝트], “빈 프로젝트”를 선택하고, 당신이 무엇을 이름을 (광산은 WindowsService, 원본이라고합니다!). 확인을 클릭하여 프로젝트를 만듭니다. 프로젝트가 만들어지고 처음에는 임시 위치가 아니라 저장되지 않으므로 [File]->[모두 저장]로 이동하여 대화 상자를 통해 괜찮습니다. 이렇게하면 공식적으로 프로젝트를 저장합니다. 다음 코드는 MyNewService 클래스에서 OnContinue 메서드를 재정의하는 방법을 보여 주며, 시각적 스튜디오 열기, 파일 로 이동하여 새 프로젝트 선택. 이제 대화 상자에서 새 프로젝트를 선택하고 “창 서비스”를 선택하고 확인 버튼을 클릭합니다. 서비스 제어 관리자는 service_STATUS 구조의 dwWaitHint 및 dwCheckpoint 멤버를 사용하여 Windows 서비스가 시작또는 종료될 때까지 기다리는 시간을 결정합니다.

OnStart 및 OnStop 메서드가 오래 실행되는 경우 서비스는 증분 된 dwCheckPoint 값을 사용 하 여 SetServiceStatus를 다시 호출 하 여 더 많은 시간을 요청할 수 있습니다. 참고: Windows NT 버전 4.0에서는 제어판에서 이 대화 상자를 열 수 있습니다. 디자이너를 클릭합니다. 그런 다음 속성 창에서 Service1에 대한 ServiceName 속성을 MyNewService로 설정합니다. 설정 프로젝트가 솔루션에 추가됩니다. 다음으로 Windows 서비스 프로젝트인 MyNewService.exe의 출력을 설정에 추가합니다. 이 문서에서는 Windows 서비스를 만들고 명령 프롬프트에서 InstallUtil.exe를 사용하여 Windows 서비스를 설치/제거하는 방법을 배웠습니다. Windows 서비스는 일반적으로 OS가 백그라운드에서 응용 프로그램을 부팅하고 실행하면 시작됩니다. Windows 서비스는 자체 세션에서 응용 프로그램을 실행합니다. 자동으로 시작되거나 수동으로 일시 중지하고 다시 시작할 수 있습니다. Windows SetServiceStatus 함수를 호출하는 코드를 추가하여 SERVICE_START_PENDING 및 SERVICE_STOP_PENDING 상태 설정을 구현할 수 있습니다.