C\#Windows 서비스 시작 프로그램 을 만 드 는 방법 에 대한 자세 한 설명

이 실례 는 C\#윈도 서비스 시작 프로그램 을 만 드 는 방법 을 설명 한다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
1.윈도 서비스 프로그램 새로 만 들 기
프로젝트 만 들 기-Visual C\#왼쪽 에 있 는"+"-Windows 서비스(오른쪽 템 플 릿)-"이름 을 입력 하여 프로젝트 만 들 기 를 확인 합 니 다.
2.윈도 서비스의 속성 을 설정 합 니 다(윈도 서비스 에 창 이 없 으 므 로 왼쪽 디자이너 에 빈 곳 을 클릭 하면 오른쪽 속성 표시 줄 에서 속성 을 볼 수 있 습 니 다)
이 속성 은 서버 가 정지,정지,계속 등 을 제어 할 수 있 는 지 여부 입 니 다.필요 에 따라 선택 하 다.속성의 이름 은 이미 잘 알 고 있 으 니 더 이상 설명 할 필요 가 없다.저 는 CanPauseAndContinue 와 CanShut Down 을 true 로 설정 합 니 다.
ServiceName 속성 은 이 서비스의 다음 서비스 관리자 에 표 시 된 이름 입 니 다.
3.윈도 서비스 설치 프로그램 설정
디자인 창 에서 마 우 스 를 오른쪽 클릭 하고'설치 프로그램 추가'를 선택 하 십시오.이렇게 하면 ProjectInstaller.cs 와 serviceInstaller 1 과 serviceProcessInstaller 1 을 추가 할 수 있 습 니 다.이 두 대상 은 모두 비교적 중요 한 속성 을 가지 고 있 습 니 다.
serviceInstaller 1 을 누 르 면 오른쪽 속성 창 에 Start Type 속성 이 있 고 서 비 스 를 시작 하 는 방식 과 시간 을 지정 합 니 다.서 비 스 를 켜 고 계속 실행 하려 면 이 속성 을 Automatic 로 설정 합 니 다.
serviceProcessInstaller 1 을 누 르 면 오른쪽 속성 창 에 Account 속성 이 있 습 니 다.이 서 비 스 를 실행 하 는 계 정 형식 을 지정 합 니 다.모든 사용자 가 이 서 비 스 를 사용 하도록 하려 면 이 속성 을 LocalService 로 설정 하 십시오.
현재 모든 생 성 및 속성 설정 작업 이 끝 났 습 니 다.다음은 코드 작성 작업 을 시작 합 니 다.
4.타이머 로 프로그램 이 실행 되 는 지 확인 해 야 하기 때문에 타이머 컨트롤 을 추가 해 야 합 니 다.
코드 창 을 엽 니 다.
우선 System.Timers 를 추가 합 니 다.인용
여기 에는 OnStart(string[]args)와 OnStop()두 개의 함수 가 있 습 니 다.말 그대로 온 스타트 는 서비스 가 시 작 될 때 실행 되 는 코드 다.OnStop 은 서비스 가 끝 날 때 실행 되 는 코드 입 니 다.
OnStart 에 Timer 컨트롤 을 만 들 고 속성 을 설정 하고 이 벤트 를 추가 합 니 다.

System.Timers.Timer t = new System.Timers.Timer(1000); //   1000   Timer      1000  
t.Elapsed += new System.Timers.ElapsedEventHandler(Timer_Click); //Timer_Click               
t.AutoReset = true; //       (false)      (true)
t.Enabled = true; //    System.Timers.Timer.Elapsed  

이렇게 하면 서비스 가 실 행 된 후 1 초 마다 Timer 를 실행 합 니 다.클릭 함수
5.타이머 작성클릭 함수

private void Timer_Click(Object sender, ElapsedEventArgs e)
{
  Process[] localByName = Process.GetProcessesByName("exe");
  if (!IsExistProcess("exe")) //         0,          ,      
  {
    Process.Start("exe"); //       
  }
  else
  {
    //        ,         
  }
}
private bool IsExistProcess(string processName)
{
  Process[] MyProcesses = Process.GetProcesses();
  foreach (Process MyProcess in MyProcesses)
  {
    if (MyProcess.ProcessName.CompareTo(processName) == 0)
    {
      return true;
    }
  }
  return false;
}

이제 모든 코드 작업 도 끝 났 습 니 다.
6.윈도 서비스 생 성 프로그램
Windows 서비스 생 성 1 을 누 르 십시오.
이 때 D:\Soft\Windows Service 1\bin\Debug 폴 더 에 Windows Service1.exe 파일 이 생 성 됩 니 다.
성공 하면 다음 단 계 를 수행 할 수 있다.
7.설치 서비스



serviceInstaller 1 속성 중 설정:
설명(시스템 서비스 설명)
DisplayName(시스템 서비스 에 표 시 된 이름)
ServiceName(시스템 이벤트 뷰 어 에 있 는 프로그램 이벤트 의 원본 이름)
serviceProcessInstaller 1 속성 설정:Account 드 롭 다운 을 LocalSystem 으로 설정 합 니 다.
서 비 스 는 응용 프로그램 과 달리 Visual Studio 에서 실 행 될 수 없 으 며 설치 소프트웨어 를 사용 하여 Windows 서비스 에 설치 해 야 합 니 다.위의 세 개의 캡 처 작업 을 마 친 후 아래 등록 과 마 운 트 해제 작업 을 계속 합 니 다.
이 설치 소프트웨어 는 C:\WINDOWS\Microsoft.NET\Framework\\v 4.0.30319 이 폴 더 에 있 습 니 다.
프로그램 이름 은 InstallUtil.exe
이 프로그램 을 실행 하려 면 command'명령 프롬프트'프로그램 을 사용 해 야 합 니 다.
"cmd"를 입력 하고 확인 을 누 르 십시오.
cd C:\\WINDOWS\Microsoft.NET\\Framework\\v 4.0.30319 를 입력 하여 이 폴 더 에 들 어가 십시오.
InstallUtil D:\\Soft\Windows Service1\\bin\Debug\\Windows Service1.exe 즉 InstallUtil+서비스.exe 파일 의 주 소 를 입력 하 십시오.이때 서비스 가 설치 되 었 다.
이 서 비 스 를 마 운 트 해제 하려 면 이 소프트웨어 를 사용 하 세 요.
InstallUtil D:\\Soft\Windows Service1\\bin\Debug\\Windows Service1.exe-u 즉"InstallUtil+service.exe 파일 의 주소-u"를 입력 하 십시오.이때 서비스 가 마 운 트 해제 되 었 습 니 다.
물론 우 리 는 지금 이 서 비 스 를 마 운 트 해제 할 필요 가 없다.이제 우리 의 기능 을 실현 할 마지막 단계 만 남 았 다.
8.서비스 시작
서비스 설치 가 성공 한 후에 시작 되 지 않 았 습 니 다.저 희 는 서비스 관리자 에서 시작 해 야 합 니 다.그리고 프로그램 이 창 이 있 는 프로그램 이 라면 서비스의 속성 을 수정 해 야 합 니 다.
제어 판 에 들 어가 서 관리 도구 인 서비스 관리 자 를 엽 니 다.또는 실행----->cmd---->services.msc-로 컬 서비스 설정
오른쪽 서비스 목록 에서 방금 설 치 된 서 비 스 를 찾 습 니 다.서비스 이름 은 두 번 째 단계 에서 ServiceName 속성의 내용 입 니 다.여기 가 바로 윈도 서비스 1 입 니 다.
실행 중인 프로그램 이 창 이 있 는 프로그램 이 라면 이 서 비 스 를 오른쪽 클릭 하여'속성'을 선택 하 십시오.'로그 인'탭(맨 위 에 있 음)을 누 르 면 로 컬 시스템 계 정 을 선택 하 십시오.'서비스 와 데스크 톱 의 상호작용 허용'체크 상자 앞에서 체크-'를 누 르 면 종료 속성 을 확인 합 니 다.
이것 은 창 이 있 는 프로그램 이 정상적으로 작 동 하 는 것 이다.그렇지 않 으 면 프로 세 스 에서 만 이 프로그램 을 볼 수 있 지만 창 이 없습니다.
이 서 비 스 를 시작 하려 면 이 서 비 스 를 누 르 십시오.
모든 과정 이 끝나다.
당신 도 서 비 스 를 위해 설 치 를 만 들 수 있 습 니 다!
더 많은 C\#관련 내용 에 관심 이 있 는 독 자 는 본 사이트 의 주 제 를 볼 수 있다.
본 고 에서 말 한 것 이 여러분 의 C\#프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기