Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Systemdatei "Application.evtx" kopieren funktioniert nicht trotz Adminrechte (https://www.delphipraxis.net/158732-systemdatei-application-evtx-kopieren-funktioniert-nicht-trotz-adminrechte.html)

devidespe 28. Feb 2011 16:04


Systemdatei "Application.evtx" kopieren funktioniert nicht trotz Adminrechte
 
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...

Uwe Raabe 28. Feb 2011 16:43

AW: Systemdatei "Application.evtx" kopieren funktioniert nicht trotz Adminrechte
 
Ich vermute mal, daß Windows die Ereignisliste permanent offen hält und du deswegen keinen Zugriff darauf hast. Das Eventsystem wird ja mit jedem Windows-Start automatisch mitgestartet.

p80286 28. Feb 2011 16:59

AW: Systemdatei "Application.evtx" kopieren funktioniert nicht trotz Adminrechte
 
Gib doch Deiner Quelldatei noch ein
Delphi-Quellcode:
fmShareDenyNone
mit!

Gruß
K-H

devidespe 28. Feb 2011 17:04

AW: Systemdatei "Application.evtx" kopieren funktioniert nicht trotz Adminrechte
 
Zitat:

Zitat von p80286 (Beitrag 1084912)
Gib doch Deiner Quelldatei noch ein
Delphi-Quellcode:
fmShareDenyNone
mit!

Tatsächlich, das war der Grund. Vielen Dank nochmals.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:31 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz