Fórum verificar se um exe está rodando e como trazer p/ frente? #241787
06/07/2004
0
Tenho um .exe que chama um outro .exe, sem usar <ALT> + <TAB> como faço para que no click ou em outro evento qualquer um determinado executável seja trazido para frente???
e outra, como faço para verificar se um determinado programa está aberto??
Rdf
Curtir tópico
+ 1Post mais votado
05/01/2005
valeu
[/code]
Paullsoftware
Gostei + 1
Mais Posts
07/07/2004
Rdf
vasculhado o próprio fórum do clube delphi, encontrei muitas possibilidades de verificar se uma aplicação encontra-se em execução.
E para completar minha segunda resposta procurei no site do msdn, onde encontrei uma API para ´jogar´ a aplicação para frente. A seguir a solução encontrada:
procedure verifica; var nHandle: HWnd; begin nHandle := FindWindow(nil, ´titulo programa´); if nHandle <> 0 then BringWindowToTop(nHandle); // traz para frente end;
Isso funciona bem, porém se a aplicação que deve ser exibida em primeiro plano estiver minimizada, o foco é setado nela, contudo ela não é maximizada, ficando esta ativa na barra de programas!!!
Tentei usar uma chamada a função ´SendMessage()´ passando ´ws_maximize´, porém não estou conseguindo capturar essa mensagem na aplicação destino!!
Resumindo: Gostaria de saber como faço para capturar mensagens enviadas através de algum procedimento/função do windows???
Desde já agradeço!!
Gostei + 0
25/01/2006
Mordred
SetWindowPos(Hwnd,Hwnd_TopMost,0, 0, 0, 0, SWP_NOMOVE Or SWP_NOSIZE Or SWP_NOACTIVATE);
Eu, por exemplo, tenho uma aplicação Ponto de Funcionário que recebe o código do funcionário em uma edit e às vezes o sistema aparenta perder o foco da edit. Pus o código dessa API em um timer para trazer a janela para a frente seguido de um Edit.SetFocus. A tela aparece com o cursor piscando bonitinho dentro da edit, MAS, se você tentar digitar, espantosamente nada acontece. Pode usar o comando que quiser pra tentar trazer a janela para frente, se vc não der um clique na janela, não funciona.
Será que alguém conhece alguma solução para esse problemão?
Gostei + 1
10/02/2006
Adalberto
No lugar da constante SWP_NOACTIVATE (que indica que a janela não deve ter o foco), coloque a constante SWP_SHOWWINDOW).
Acho que deverá funcionar...
Blz ?
Gostei + 1
Clique aqui para fazer login e interagir na Comunidade :)