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