Как узнать, используется ли файл в данный момент другим приложением 2
function ApplicationUse(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 ApplicationUse('c:\project1.exe') then
ShowMessage('Application in use')
else
ShowMessage('Application not in use');
end;
|
|