Получите журналы просмотра событий с Win API в C ++
-
04-10-2019 - |
Вопрос
Мое приложение необходимо сохранить журналы просмотра событий в указанный каталог, и он должен быть выполнен с помощью 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;
}
Решение
Вы можете перечислить доступные каналы в системе, используя EvtOpenChannelEnum
, EvtNextChannelPath
а также EvtClose
(документация). Эти API (EvtNextChannelPath
В частности,) вернется пути в соответствующий формат для EvtExportLog
.
Не связан с StackOverflow