//判断文件是否正在被使用 function FileINUse(filename:String):boolean; var usein:file; begin result:=false; assignfile(usein,FileName); try reset(Usein); except on E:EInOutError do begin if e.ErrorCode=32 then begin result:=true; exit; end; end; end; closefile(usein); end; procedure TForm1.Button1Click(Sender: TObject); if OpenDialog1.Execute then begin if fileInuse(OpenDialog1.filename) then ShowMessage('文件正在使用中') else ShowMessage('没有使用'); end;