function ArquivoJaEstaAberto(const NomeDoArquivo: string): boolean;
var
   StreamArquivo: TFileStream;
begin
   if not FileExists(NomeDoArquivo) then
     raise Exception.CreateFmt('O arquivo "%s" não existe', [NomeDoArquivo])
   else
     try
       StreamArquivo := TFileStream.Create('nomedoarquivo.txt', 
fmShareExclusive and fmOpenRead);
       StreamArquivo.Free;
       Result := False;
     except
       Result := True;
     end;
end;

Rubem Nascimento da Rocha escreveu:
> 
> 
> 
> 
> Não tem função pronta pra isso, nem no Object Pascal e nem na API do 
> Windows. Tem que codificar uma. Um exemplo de função para fazer esse 
> teste, usando a API do Windows, pode ser visto em 
> http://www.swissdelphicenter.ch/en/showcode.php?id=104. 
> <http://www.swissdelphicenter.ch/en/showcode.php?id=104.>
> 
> Boa sorte.
> 
> Sds.
> 
> To: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br>
> From: mar...@sulfabril.com.br <mailto:marcio%40sulfabril.com.br>
> Date: Mon, 6 Apr 2009 13:30:54 -0300
> Subject: [delphi-br] [TXT - COMO SABER SE ARQUIVO ESTA EM USO]
> 
> Ola , ola ...
> 
> Help companheiros ...
> 
> estou abrindo um arquivo TXT(xml).
> 
> vXMLDoc.LoadFromFile(ArquivoEnder);
> 
> so que qndo o arquivo esta em uso da pau !!
> 
> tem alguma funcao para testar se o arquivo esta em uso ??
> 
> Marcio .
> 
> __________________________________________________________
> Emoticons e Winks super diferentes para o Messenger. Baixe agora, é grátis!
> http://specials.br.msn.com/ilovemessenger/pacotes.aspx 
> <http://specials.br.msn.com/ilovemessenger/pacotes.aspx>
> 
> [As partes desta mensagem que não continham texto foram removidas]
> 
> 

Responder a