문제

내가 코드 읽는 Windows 이벤트 로그에 기록합니다.사용 OpenEventLog,ReadEventLog 고 이벤트 소스와 이벤트 ID 입니다.그것은 보인다는 소스에서

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application

키,로드하는 적절한 DLL(s)에 따르면 어떤 나열 EventMessageFile 마지막으로 사용 FormatMessage 병합하려면 이벤트는 문자열은 메시지와 함께 DLL 콘텐츠를 최종 이벤트는 메시지에 텍스트입니다.는 것이 좋습니다하지만 약간의 고통,그것은 위대한 작동합니다.

까지...가 조회는 원본을 찾아는 가지고 있지 않습니다. EventMessageFile, 지만,오히려 ProvideGuid 항목입니다.이 보는 새로운 방법(그들은 쇼에 Vista 및 Windows2008).Uggh--아무것도 전달하는 로 사을 위해 찾고 메시지에 텍스트와에서 병합 데이터 문자열

:(

검색에 대한 레지스트리 guid 로 이어질 않는 다른 파일에 대한 참조(http.sys 의 경우에는 HTTP 소스)에,그러나 나는 결코 얻을 완료 메시지가 텍스트입니다.내가 사용하는 사람들 EvtOpenSession Api?난 기대하지 않기 때문가 EVENTLOGRECORD* 에서 전화 ReadEventLog, 는 소프트웨어에서 실행하는 데 필요한 윈도우 2003 EvtOpenSession 지원되지 않습니다(에서만 사용할 수 있 Vista 및 Windows2008).참고:일부 소스에 Vista ProviderGUID,및 다른 사람 EventMessageFile,그래서 오래된 메소드가 여전히 실행 가능합니다.

그래서 난 후에는 방법에 대해 알아보십시 ProviderGuid 을 얻을 DLL 을 전달되어야 할 로 사 표시를 위한 전체 이벤트 로그 메시지에 텍스트입니다.

감사에 대한 모든 입력

도움이 되었습니까?

해결책

Api 에는 리처드 링크에 대한 새로운 스타일을 컴퓨터의 상태를 모니터링하는 시스템(코드명이 진홍이라고 불리는 매니페스트 기반의 제공)소개 비스타/서버 2K8.의 유물 중 하나이 새로운 시스템이 새로운 Api 소비 이러한 로그,또 다른 ProviderGuid 키를 위한 특정 EventSources 는 생산 사용하여 이벤트를 이 새로운 프레임 워크입니다.

나는 당신이 사용해야 하는 기능은 Windows Vista 에서 나중에 소비하는 이 로그를 처리한 작업을 수행합니다.사용할 수 있습니다 EvtFormatMessage 방법을 형식 문자열.이 Api 는 또한 이벤트에 의해 생산"고전적인"공급자입니다.

만약 당신이 이러한 메시지에서.인터넷 응용 프로그램을 사용할 수 있습형 시스템입니다.Diagnostics.Eventing.독자는 네임스페이스를 도입했습니다.NET3.5.

다른 팁

가 있 Win32Api 에 대해 읽기/확장하고 이벤트 로그 항목이 있습니다.

MSDN: http://msdn.microsoft.com/en-us/library/aa385780(VS.85).aspx

다른 것을 찾을 가능성이 있 문제가 패치를 혼자 서비스 팩 또는 새로운 버전이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top