Probleme cu calculatorul? Noi iti oferim suport tehnic gratuit. Click aici!
Tutoriale Linux, Tutoriale Programare, Tutoriale retele, tutoriale photoshop

Ati incercat vreodata sa deschideti un fisier care era deja deschis de o alta aplicatie ? Mai tineti minte ce eroare ati primit ? :D

In Pascal se putea verifica daca un fisier e in uz sau nu cu directiva de compilare $I, necesitand apoi, dupa incercarea de deschidere a fisierului, sa se verifice variabila IOResult.

O alta varianta care determina daca un fisier e sau nu deschis de alta aplicatie, folosind API, e data mai jos.

Cod:

function FileInUse(FileName: string): Boolean;
var hFil: HFILE;
begin
  Result := False;

  If not FileExists(FileName)
    then Exit;

  hFil := CreateFile(PChar(FileName), GENERIC_READ or GENERIC_WRITE,
                      0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);

  Result := (hFil = INVALID_HANDLE_VALUE);

  If Not Result
    Then CloseHandle(hFil);
end;

Keep away from (already) opened files :)

Ethical hacking and programming community