Fórum Encerrar sistema aberto em outra máquina #251065
19/09/2004
0
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
Curtir tópico
+ 0Posts
19/09/2004
Aroldo Zanela
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
21/09/2004
Vanp
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
21/09/2004
Ipc$
Vá passo a passo. Primeiro veja Sockets(TServerSocket e TClientSocket), depois veja SendBuf e ReceiveBuf, depois FindWindow e por fim PostMessage.
Gostei + 0
21/09/2004
Aroldo Zanela
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
Clique aqui para fazer login e interagir na Comunidade :)