2

Windows 事件日志通常存储在%SystemRoot%\System32\winevt\Logs. 所有文件都是某种数据库,我想问如何以编程方式枚举数据*.evt并将*.evtx文件放入单独的记录中,以及如何从系统中删除这些记录。

我找到了Windows Event Log Functions,但是我正在寻找适用于 XP 的解决方案。后来尝试了事件记录功能。使用这个 API,我设法将数据作为单个记录读取,但是只有一个删除函数,它是ClearEventLog。但是,这会从日志中删除所有事件。我正在寻找可以删除单个记录的解决方案。

重要提示:我正在使用 C++ 编程,因此 C# 和 .net 解决方案没有帮助,我还需要与 Windows-XP 兼容。

4

1 回答 1

2

存在从事件日志中读取的 API。

  • OpenEventLogfunction - 打开指定事件日志的句柄
  • ReadEventLogfunction - 从指定的事件日志中读取指定数量的条目。该功能可用于按时间顺序或逆时间顺序读取日志条目。
  • 查询事件信息显示了如何打开事件日志、从日志中读取事件、打印有关事件的信息,然后关闭事件日志。
  • 事件记录功能- API 本身
于 2013-10-08T11:42:15.563 回答