Fórum Fechar programa travado #294047

01/09/2005

0

Olá,

Estou fazendo um programa que funciona como um [b:01cc0ee4aa]watchdog [/b:01cc0ee4aa](verifica se outro programa está respondendo e se estiver travado ele fecha o programa e reinicia novamente).
Gostaria de saber qual a melhor forma de fechar um programa que está travado? Algo como o gerenciador de tarefas do Windos faz.

Desde ja agradeço.


Marcelo.l

Marcelo.l

Responder

Posts

01/09/2005

Bruno Belchior

uma forma de fazer isso é procurando pelo seu [b:4e76e394cc]Handle[/b:4e76e394cc]... agora existem algumas questões:[list=1:4e76e394cc]
[*:4e76e394cc]Quais e quando as janelas estão travadas;
[*:4e76e394cc]Quantas janelas existem abertas;
[*:4e76e394cc]Como Listá-las;
[*:4e76e394cc]E depois de listá-las, poder referênciar o seu Handle;
[/list:o:4e76e394cc]
mas um exemplo para verificar se o bloco de notas está aberto e eventualmente fechá-lo está ai:
var
  Handle: THandle;
begin
  Handle := FindWindow(´NotePad´, nil);
  if Handle > 0 then
    SendMessage(Handle, WM_CLOSE, 0, 0);
end;



Responder

Gostei + 0

02/09/2005

Marcelo.l

Olá, Bruno

A grande dúvida é... Será que o programa resposnde a um comando
SendMessage(Handle, WM_CLOSE, 0, 0);

Ou
SendMessage(Handle, WM_QUIT, 0, 0) é melhor???

O problema é que é díficil simular um travamento de programa para testar qual é amelhor opção. Ou existe outra opção melhor e mais segura de fechar um programa que não está respondendo???

Valeu.


Responder

Gostei + 0

03/09/2005

Bruno Belchior

A grande dúvida é... Será que o programa resposnde a um comando SendMessage(Handle, WM_CLOSE, 0, 0); Ou SendMessage(Handle, WM_QUIT, 0, 0) é melhor???
é a [b:9d40ce91ff]WM_QUIT[/b:9d40ce91ff] fecha o programa de forma mais [b:9d40ce91ff]´ignorante´[/b:9d40ce91ff] que o [b:9d40ce91ff]WM_CLOSE[/b:9d40ce91ff], um exemplo disso é que se você estiver no MSWord usando o WM_QUIT não terá nem oportunidade de salvar alguma coisa que pudera estiver pendente... sendo assim acredito que para o seu caso o [b:9d40ce91ff]WM_QUIT[/b:9d40ce91ff] é mais aconselhável... :wink:


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar