Particularmente, acho isso que você está querendo fazer bastante incoerente. Por dois motivos:
1) Se você tentar cancelar o processo que está usando o arquivo que você quer usar, você corre o sério risco de danificar o arquivo em questão, pois você não sabe o que a outra aplicação está fazendo com o arquivo; 2) Se você não consegue acessar um arquivo por causa de outra aplicação, a melhor política é esperar o arquivo estar disponível para poder processá-lo pela sua aplicação. Eu tenho uma aplicação que eu desenvolvi que envia e-mails após o processamento de arquivos texto, e nessa aplicação eu sempre espero o arquivo estar disponível para poder processá-lo. Sds. >From: "Ailton Branco" <[EMAIL PROTECTED]> >Reply-To: delphi-br@yahoogrupos.com.br >To: delphi-br@yahoogrupos.com.br >Subject: [delphi-br] Re: Arquivo em Uso >Date: Fri, 10 Feb 2006 12:26:03 -0000 > >Serviu perfeitamente... > >e aproveitando para pedir mais ajuda... vc por acaso nao tem algo ai >que força o encerramento de um arquivo em uso... ou de algo que me >ajude a fechar o programa que está usando este arquivo... geralmente >é um programa externo ao meu do delphi... portanto preciso descobrir >como encerrar um programa que está rodando externamente... exemplo >meu programa delphi vai fazer backup de um aquivo... e este aquivo >está em uso por outro programa... externo.. eu gostaria de fechar >este programa esterno... > >agradeço muito sua atenção > > >--- Em delphi-br@yahoogrupos.com.br, "Rubem Nascimento da Rocha" ><[EMAIL PROTECTED]> escreveu > > > > > > Eu escrevi estas funções para um software de envio de dados via e- >mail. > > Espero que possam te ajudar. > > > > function IsItLocked(FileName: TFileName): Boolean; > > var > > h: THandle; > > begin > > h := Windows.CreateFile(PChar(FileName), GENERIC_READ or >GENERIC_WRITE, 0, > > nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); > > Result := (h = INVALID_HANDLE_VALUE); > > if not Result then > > CloseHandle(h); > > end; > > > > function IsItLockedRead(FileName: TFileName): Boolean; > > var > > h: THandle; > > begin > > h := Windows.CreateFile(PChar(FileName), GENERIC_READ, >FILE_SHARE_READ, > > nil, > > OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); > > Result := (h = INVALID_HANDLE_VALUE); > > if not Result then > > CloseHandle(h); > > end; > > > > function LockedFile(AFileName: TFileName): Boolean; > > begin > > Result := (IsItLocked(AFileName) or IsItLockedRead(AFileName)); > > end; > > > > Sds. > > > > >From: "Ailton Branco" <[EMAIL PROTECTED]> > > >Reply-To: delphi-br@yahoogrupos.com.br > > >To: delphi-br@yahoogrupos.com.br > > >Subject: [delphi-br] Arquivo em Uso > > >Date: Thu, 09 Feb 2006 20:28:09 -0000 > > > > > >como descobrir se o arquivo esta em uso???? > > > > > >estou tentando fazer uma rotina para restaurar um backup... mas o >meu > > >arquivo que vai ser restaurado pode estar em uso... gostaria de >saber > > >como faço para saber se ele está em uso... ou se possivel até >mesmo > > >apagar o arquivo em uso... ou tirar ele desta condição para que eu > > >possa restaurar o backup... > > > > > > > > >agradeço muito a ajuda... > > > > > > > > > > > > > > > > > > > > > > _________________________________________________________________ > > MSN Hotmail, o maior webmail do Brasil. http://www.hotmail.com > > > > > > > > _________________________________________________________________ MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br -- <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>> <*> Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages <*> Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ <*> Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html