Home » Tipps & Tricks » System » Systemfunktionen » Ereignisprotokolle leeren

Ereignisprotokolle leeren

Diese Funktion löscht die Ereignisprotokolle.Diese Funktion setzt Admin-Rechte vorraus. Getestet unter Windows 2000 Englisch und Win XP Deutsch.

function PE_ClearEventLogNow(pEventLogKey: PChar):Integer;
 var
  hLog: THandle;
  NumberOfRecords: DWord;
begin
  Result := -1;

  {*** Eventlog oeffnen ***}
  hLog   :=  OpenEventLog(NIL, pEventLogKey);
  if hLog  INVALID_HANDLE_VALUE then
  begin
    {*** Anzahl der Eintraege ermitteln ***}
    GetNumberOfEventLogRecords(hLog, NumberOfRecords);

    {*** Eintraege loeschen! ***}
    if not ClearEventLog(hLog, NIL) then 
    begin
      CloseEventLog(hLog);
      Exit;
    end;

    {*** EventLog schliessen ***}
    CloseEventLog(hLog);
    Result := 0;
  end;
end;