Einzelnen Beitrag anzeigen

DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
439 Beiträge
 
Delphi 12 Athens
 
#1

Systemdatei "Application.evtx" kopieren funktioniert nicht trotz Adminrechte

  Alt 28. Feb 2011, 17:04
Hallo,

ich möchte gerne die Ereignisanzeige von Windows in einen temporären Ordner kopieren. Installiert ist Vista 32 Bit und Delphi 2007 Pro. Mein Programm besitzt Adminrechte. Nun verwende ich folgenden Code dafür:

Delphi-Quellcode:
var Quelldatei, Zieldatei : TFileStream;
begin
  Quelldatei:=TFileStream.Create('C:\Windows\system32\winevt\Logs\Application.evtx', fmOpenRead);
  try
    Zieldatei:=TFileStream.Create('Application.evtx', fmCreate or fmShareDenyRead);
    try
      Zieldatei.CopyFrom(Quelldatei, Quelldatei.Size);
    finally
      FreeAndNil(Zieldatei);
    end;
  finally
    FreeAndNil(Quelldatei);
  end;
end;
Leider liefert gleich die erste Zeile eine Exception:

Im Projekt CopyTest.exe ist eine Exception der Klasse EFOpenError mit der Meldung 'Datei C:\Windows\system32\winevt\Logs\Application.evtx kann nicht geöffnet werden. Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird' aufgetreten.

Woran kann das liegen? Die Ereignisanzeige ist nicht offen und ich kann die Datei mit dem Windows-Explorer oder auch mit dem Total Commander problemlos kopieren. Nur mein Programm schafft das trotz Adminrechten nicht...
Devid
Devid Espenschied
Pre-sales Consultant
Embarcadero Germany GmbH
germany.info@embarcadero.com

Kein Support per PN

Geändert von DevidEspenschied (28. Feb 2011 um 17:35 Uhr) Grund: Ergänzung des Betreffs
  Mit Zitat antworten Zitat