Como fechar outro aplicativo (no pau)?
Olá pessoal...
Estou querendo fechar um programa, na realidade tentei de tudo (4 dias) tentando fazer um jeito de realizar um processo, sem sucesso, então quero fechar essa janela, se possível que ele não execute nada no evento onClose dele...
[b:c215e5118c]Usei abaixo e não fecha nem de jeito nenhum:[/b:c215e5118c]
...Tanto com PostMessage como com SendMessage não fecha o danado :(
Obs.: O botão da janela (X) está desabilitado, também desabilitado está o menu do sistema (ALT+F4) da janela do HANDLE. Acho que porisso não fecha. Preciso de uma que feche no pau, tem que ter....
Grato
Estou querendo fechar um programa, na realidade tentei de tudo (4 dias) tentando fazer um jeito de realizar um processo, sem sucesso, então quero fechar essa janela, se possível que ele não execute nada no evento onClose dele...
[b:c215e5118c]Usei abaixo e não fecha nem de jeito nenhum:[/b:c215e5118c]
...Tanto com PostMessage como com SendMessage não fecha o danado :(
var h : hWnd; begin h := FindWindow(nil,´Caption da Janela´); if h <> 0 then PostMessage(h, WM_CLOSE, 0, 0); // Não funciona // SendMessage(h, WM_CLOSE, 0, 0); // Não funciona end;
Obs.: O botão da janela (X) está desabilitado, também desabilitado está o menu do sistema (ALT+F4) da janela do HANDLE. Acho que porisso não fecha. Preciso de uma que feche no pau, tem que ter....
Grato
Onjahyr
Curtidas 0
Respostas
Onjahyr
30/01/2009
Observação 2:
onde tem ´if h <> 0 then´ também coloquei abaixo dele o ´ShowMessage(´Handle existente´);´
Apareceu a mensagem, significando que a Handle existe.
onde tem ´if h <> 0 then´ também coloquei abaixo dele o ´ShowMessage(´Handle existente´);´
Apareceu a mensagem, significando que a Handle existe.
GOSTEI 0
Onjahyr
30/01/2009
Consegui fechar no PAU sem que ocorram eventos, rsrs...
Em vez de WM_CLOSE, usei o WM_QUIT.
Grato
Em vez de WM_CLOSE, usei o WM_QUIT.
Grato
GOSTEI 0
Paullsoftware
30/01/2009
Consegui fechar no PAU sem que ocorram eventos, rsrs...
Em vez de WM_CLOSE, usei o WM_QUIT.
Grato
Já tentou finalizar o processo?
GOSTEI 0
Onjahyr
30/01/2009
Se for o que eu entendi (executar o programa em questão com ShellExecute(), passando um Handle no primeiro parâmetro), depois liberando o HANDLE com o comando: CloseHandle(HANDLE)...
Testei sim e não funcionou, a janela não fecha, não encontrei nenhuma maneira para fechar a não ser usando o WM_QUIT.
Talvez seja porque o Botão (X) CLOSE da Janela e o Menu do Sistema estejam desabilitados. Você conhece alguma outra maneira? vamos compartilhar o conhecimento :lol:
Grato.
Testei sim e não funcionou, a janela não fecha, não encontrei nenhuma maneira para fechar a não ser usando o WM_QUIT.
Talvez seja porque o Botão (X) CLOSE da Janela e o Menu do Sistema estejam desabilitados. Você conhece alguma outra maneira? vamos compartilhar o conhecimento :lol:
Grato.
GOSTEI 0
Sebastiaoarm
30/01/2009
Um colega seu daqui estava com o mesmo problema. No link a seguir tem uma solução:
[url]http://forum.devmedia.com.br/viewtopic.php?t=99477[/url]
[url]http://forum.devmedia.com.br/viewtopic.php?t=99477[/url]
GOSTEI 0