Ottenere registri del Visualizzatore eventi con api vittoria in C ++
-
04-10-2019 - |
Domanda
La mia applicazione necessità di salvare i log del Visualizzatore eventi in una determinata directory e deve essere fatto con api vittoria. sono tenuti registri delle applicazioni e del sistema.
EDIT: EvtExportLog - ho scoperto che non posso utilizzare questa funzione perché i requisiti minimi sono Win Server 2008, e ho bisogno di questo per lavorare su Windows Server 2000 e Windows Server 2003
.Qualche suggerimento cosa usare e come usarlo?
E non c'è soluzione grazie a Richard Cook.
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;
}
Soluzione
È possibile enumerare i canali disponibili sul sistema utilizzando EvtOpenChannelEnum
, EvtNextChannelPath
e EvtClose
( documentazione ). Queste API (EvtNextChannelPath
specificamente) torneranno percorsi in un formato appropriato per EvtExportLog
.