큰꼼의 세상

파일이 사용중인지 여부

 

function IsFileInUse(fName : string ) : boolean;
var
    HFileRes : HFILE;
begin
    Result := false;
    if not FileExists(fName) then exit;
    HFileRes := CreateFile(pchar(fName), GENERIC_READ or GENERIC_WRITE,0, nil, OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL, 0);
    Result := (HFileRes = INVALID_HANDLE_VALUE);
    if not Result then  CloseHandle(HFileRes);
end;

 



사용예 :

 

procedure TForm1.Button1Click(Sender: TObject);
begin
    if isfFileInUse('c:programsdelphi5bindelphi32.exe') then
    begin
        ShowMessage('File in use');
    end
    else
    begin
        ShowMessage('File not in use');
    end;
end;