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

 


Responder a