![]() |
Re: Schauen ob Datei in Benutzung ist
Delphi-Quellcode:
Da FileExists FALSE liefert, wenn Datei nicht existiert, ist dieses vollkommend zureichend.
function IsFileInUse(const FileName: String): Boolean;
var HFileRes : HFILE; begin HFileRes := CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE, 0, nil, OPEN_EXISTING, 0, 0); Result := HFileRes = INVALID_HANDLE_VALUE; CloseHandle(HFileRes); end; Und bist du dir mir dem Schreibschutz sicher? Jedefalls hat der Schreibschutz, solange nicht das Laufwerk geschützt ist (z.B. CD, oder schreibgeschützte Diskette/Speicherstick) keinen einfluß auf CreateFile :gruebel: Hier hast du übrigens die letzte Diskusion zu diesem Thema: ![]() Also ganz sicher ist es nicht möglich etwas über den Zugriff zu sagen, aber für die meisten Fälle ist diese Variante ausreichend. PS: wie wird denn die Datei bei der MD5-Berechnung geöffnet? Da könntest du es ja mal ohne Schreibzugriff und/oder nicht Exklusiv versuchen :angel: |
Re: Schauen ob Datei in Benutzung ist
Das die Funktion bei einer schreibgeschützten Datei TRUE liefer ist ja klar, denn sie wird ja
zum Lesen und Schreiben geöffnet und Schreiben darf man ja nicht. Also sollte man das Flag GENERIC_WRITE entfernen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz