Вопрос

Мое приложение необходимо сохранить журналы просмотра событий в указанный каталог, и он должен быть выполнен с помощью 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top