Detecção de programa específico
Pessoal,
Dado o nome, detectar se o programa está em execução não é tarefa de outro mundo.
No entanto, ocorre o seguinte:
Preciso detectar se um determinado (B) programa está em execução quando o meu software (A) entra no ar.
Este programa, originalmente, tem um nome (por exemplo) de "ABCD". Mas sempre que o usuário renomear o programa B no disco, o novo processo será efetuado com o novo nome do programa...
Como passaria a detectar se o programa B (com novo nome) está em execução?
Existe alguma identificação única para todas as instâncias do programa B que não possa ser simplesmente alterada, como o nome?
Porque se o programa B estiver online quando A entrar no ar, B pode "brincar" com as comunicações TCP/IP de A, gerando não apenas fortes dores de cabeça mas graves falhas de segurança.
Já deixo explícito que não posso alterar o código do programa A. Ele é um programa já compilado e não possuo acesso aos seus fontes.
Minha idéia é montar um aplicativo secundário C que fique verificando constantemente pela execução de B, em segundo plano, e que ele seja o responsável por efetuar as comunicações de A (uma espécie de PROXY). Assim, C não poderia ser finalizado pois A deixaria de funcionar, e enquanto C continuasse em execução, se B fosse iniciado, A seria automaticamente bloqueado (ou finalizado).
Discussão (1)
Carregando comentários...