2011-09-20 3 views
1

Windows의 서비스 나 응용 프로그램이 시작되고 중지되고 성공적으로 종료되는지 또는 오류 코드와 함께 종료되는지는 로그를 추적해야합니다.서비스를 추적하기 위해 어떤 프로세스 API를 사용해야합니까?

많은 서비스가 자체 시작 및 중지 시간을 기록하지 않거나 올바르게 종료하는 경우 서비스/응용 프로그램 요청시 캐치 할 API에 후크를 삽입해야 할 것이라고 생각합니다. 프로세스 공간을 포기하고 포기하십시오.

내 질문에이 기능을 수행하려면 어떤 기능이 필요합니까? 그리고 심지어 가능합니까? Windows XP 및 7, 64 비트 모두에서 작동해야합니다.

+0

이것은 프로그래밍 문제이므로 수퍼 유저가 아닌 stackoverflow에 있어야합니다. –

답변

3

Windows Vista의 서비스는 단일 서비스 인 경우에만 NotifyServiceStatusChange()입니다. 이전 버전에서는 변경 사항을 폴링하거나 이벤트 로그를 보는 것 외에는 불가능했습니다.

0

사용자 공간 솔루션을 찾고있는 경우 EnumProcesses()는 현재 목록을 반환합니다. 그러나 변경 사항을 알려주지 않으므로 지속적으로 폴링하고 차이점을 처리해야합니다.

특정 응용 프로그램 또는 응용 프로그램 집합을보고있는 경우 프로세스에 제한을두고 외부에서 관리 할 수 ​​있도록 허용하는 작업 개체에 할당하는 것이 좋습니다. 나는 익스플로러를 작업 객체와 연관 지을 수 있다고 생각한다. 그러면 사용자가 시작한 모든 작업은 작업 객체와 자동으로 연관된다. 들여다보아야 할 것.

관련 문제