Esse tipo de comportamento deve ser embutido no próprio programa usando um mutex. Isso pode ser feito com um programa de monitoramento bastante simples, mas eu não sei de um pré-construído. Você também precisa estar ciente de que nem todos os programas são compatíveis, por isso não há garantia de que o método funcionará com todos eles.