C++ 写Windows日志文件
环境 VC6.0
代码
#include "windows.h"
#define SVC_ERROR ((DWORD)0xC0020001L)
void WriteReportEvent(LPTSTR szName,LPTSTR szFunction)
{
HANDLE hEventSource;
LPCTSTR lpszStrings[2];
unsigned int len = sizeof(szFunction);
char *Buffer = new char[len];
hEventSource = RegisterEventSource(NULL, szName);
if( NULL != hEventSource )
{
//StringCchPrintf(Buffer, 80, TEXT("%s failed with %d"), szFunction, GetLastError());
strcpy(Buffer,szFunction);
lpszStrings[0] = szName;
lpszStrings[1] = Buffer;
//详细请参考MSDN
ReportEvent(hEventSource, // event log handle
EVENTLOG_ERROR_TYPE, // event type
0, // event category
SVC_ERROR, // event identifier
NULL, // no security identifier
2, // size of lpszStrings array
0, // no binary data
lpszStrings, // array of strings
NULL); // no binary data
DeregisterEventSource(hEventSource);
}
}
#define SVC_ERROR ((DWORD)0xC0020001L)
void WriteReportEvent(LPTSTR szName,LPTSTR szFunction)
{
HANDLE hEventSource;
LPCTSTR lpszStrings[2];
unsigned int len = sizeof(szFunction);
char *Buffer = new char[len];
hEventSource = RegisterEventSource(NULL, szName);
if( NULL != hEventSource )
{
//StringCchPrintf(Buffer, 80, TEXT("%s failed with %d"), szFunction, GetLastError());
strcpy(Buffer,szFunction);
lpszStrings[0] = szName;
lpszStrings[1] = Buffer;
//详细请参考MSDN
ReportEvent(hEventSource, // event log handle
EVENTLOG_ERROR_TYPE, // event type
0, // event category
SVC_ERROR, // event identifier
NULL, // no security identifier
2, // size of lpszStrings array
0, // no binary data
lpszStrings, // array of strings
NULL); // no binary data
DeregisterEventSource(hEventSource);
}
}