Thema: Delphi Datei in Benutzung

Einzelnen Beitrag anzeigen

Fuchtel

Registriert seit: 9. Nov 2005
Ort: Bamberg
53 Beiträge
 
Delphi 2005 Personal
 
#31

Re: Datei in Benutzung

  Alt 3. Sep 2008, 07:16
Folgendes habe ich mal irgendwo gefunden und setze es Erfolgreich ein:

Delphi-Quellcode:
function IsFileUsed(const FileName:String): Boolean;
const
  AccessMode: array[0..2] of LongWord = (
    GENERIC_READ,
    GENERIC_WRITE,
    GENERIC_READ or GENERIC_WRITE);
  ShareMode: array[0..4] of LongWord = (
    0,
    0,
    FILE_SHARE_READ,
    FILE_SHARE_WRITE,
    FILE_SHARE_READ or FILE_SHARE_WRITE);
var
  Mode : LongWord;
  iRes : INTEGER;
begin
  Mode := fmOpenRead or fmShareDenyWrite;
  iRes := -1;
  if ((Mode and 3) <= fmOpenReadWrite) and
    (((Mode and $F0) shr 4) <= fmShareDenyNone) then
    iRes := Integer(CreateFile(PChar(FileName),
                      AccessMode[Mode and 3],
                      ShareMode[(Mode and $F0) shr 4],
                      nil,
                      OPEN_EXISTING,
                      FILE_ATTRIBUTE_NORMAL,
                      0));
    If iRes < 0 then
        Result := True
      else
        Result := False;
  If Not Result then CloseHandle(THandle(iRes));
end;
Am sichersten ist es, für ein und dasselbe Programm (be mehrmaligem Start), wenn man eine Datei mit ihren Attributen verriegelt

Gruß Fuchtel
  Mit Zitat antworten Zitat