Encerrar sistema aberto em outra máquina

Delphi

19/09/2004

Olá colegas,

preciso fechar um aplicativo aberto em outra máquina.
Obs: preciso fechar pelo nome do executável e não pelo nome da janela.

Atenciosamente
vonirpereira@certto.com.br


Vanp

Vanp

Curtidas 0

Respostas

Aroldo Zanela

Aroldo Zanela

19/09/2004

Colega,

Uma solução seria criar uma aplicação para monitorar mensagens (Sockets) e em seguida, de acordo com a mensagem, pesquisar pelo excutável (FindWindow) e postar uma mensagem para o windows executar.

Veja um exemplo para derrubar o Internet Explorer:

nHandle := FindWindow(´IEFrame´, nil);
  if nHandle<>0 then PostMessage(nHandle, WM_CLOSE, 0, 0);



GOSTEI 0
Vanp

Vanp

19/09/2004

Aroldo obrigado pela resposta.
Mas, não consegui fazer o que preciso.
O que eu preciso é o seguinte:

Tenho uma aplicação chamada ´teste.exe´

Estou trabalhando em uma máquina com o IP 123.456.0.1

Preciso fechar o aplicativo teste.exe que esta rodando na máquina com o IP 123.456.0.2

Este é o meu problema. Não consigo resolve-lo.

Grato pela atenção


GOSTEI 0
Ipc$

Ipc$

19/09/2004

Uma solução seria criar uma aplicação para monitorar mensagens (Sockets) e em seguida, de acordo com a mensagem, pesquisar pelo excutável (FindWindow) e postar uma mensagem para o windows executar.

Vá passo a passo. Primeiro veja Sockets(TServerSocket e TClientSocket), depois veja SendBuf e ReceiveBuf, depois FindWindow e por fim PostMessage.


GOSTEI 0
Aroldo Zanela

Aroldo Zanela

19/09/2004

Colega,

Se você não tem experiência com Sockets, então você pode utilizar um método de troca de informação por meio de arquivo ou num banco de dados.

Exemplo com monitoramento de arquivo/diretório:

Você deve ter uma aplicação na máquina destino para ficar monitorando um determinado diretório. Quando ele for criado (na origem), você abre e verifica qual é a mensagem e a executa (p.e: Teste.exe - Derrubar). Na aba SAMPLEs tem um componente denominado de ShellChangeNotifier que pode ser utilizado para este propósito.


GOSTEI 0
POSTAR