2010-02-20 6 views
3

두 프로세스가 모두 C#에서 개발되었습니다.C#의 Window Service에서 프로세스를 종료하는 방법

하나는 Windows 서비스이고 다른 하나는 일반 Windows 기반 응용 프로그램입니다. 서비스에서 응용 프로그램을 종료하는 것입니다 내가 뭘하려는

, 나는 할 수 있어요, 이는 강제로 죽일 의도가없는

. 나는 그것을 우아하게 종료하고 싶다.

서비스를 통해 내 응용 프로그램에 정의 된 application_close 함수를 호출 할 수 있습니까?

답변

3

Process.CloseMainWindow() 당신이 찾고있는 것, 나는 믿습니다.

http://msdn.microsoft.com/en-us/library/system.diagnostics.process.closemainwindow.aspx

편집 : 당신이 정말로 IPC를 구현하려면, 나는 창문에서 가장 쉽게 구현 솔루션으로 message queues을 활용 발견했지만, 심지어는 아주 간단하지 않다, 나는 같으면 나가기를 원할 때 종료 할 때 자원 정리 만하면 좋습니다.

+0

@Tanzelax이 글을 쓰고있는 것처럼 보입니다. 질문을 다시 편집하겠습니다. 프로세스에 정의 된 함수를 호출 할 수있는 곳이 있습니다. 프로세스를 닫기 전에 모든 집을 유지합니다. – Kazoom

+0

Whihle은 쉬운 방법이 아닙니다. 실제로 IPC를 구현하지 않고 임의의 코드를 호출하면 CloseMainWindow는 본질적으로 alt-F4를 Windows 응용 프로그램에 보내는 것과 동일합니다. 귀하의 신청서에 주 양식의 처분이나 기타 처분이 적절한 처리 방법이있는 경우,이 용도로 사용하기에 충분해야합니다. – Tanzelax

+0

감사합니다, 거기에 사용 예를 찾을 수 있습니다 – Kazoom

관련 문제