我的应用程序需要将事件查看器日志保存到指定目录,并且必须使用win api完成。需要应用程序和系统日志。
编辑:EvtExportLog - 我发现我无法使用此功能,因为最低要求是Win Server 2008,我需要这个才能在Win Server 2000和Win Server 2003上运行。
有什么建议可以使用以及如何使用它?
感谢理查德库克解决方案。
int getEventLogs()
{
HANDLE h = OpenEventLog(NULL,"System");
if(!BackupEventLog(h,"backup.evt"))
{
wprintf(L"BackupEventLog failed for initial export with %lu.\n", GetLastError());
}
return 1;
}
答案 0 :(得分:2)
您可以使用EvtOpenChannelEnum
,EvtNextChannelPath
和EvtClose
(documentation)枚举系统上的可用频道。这些API(具体为EvtNextChannelPath
)将以EvtExportLog
的适当格式返回路径。