normalmente você tem que implementar esse recurso "singleton" diretamente no aplicativo. Se você quiser protegê-lo "de fora", você tem que usar um wrapper que verifica, se você tiver outra instância já em execução. pode haver mais soluções para isso, mas uma vez eu fiz o truque com nsis . a ideia é esta:
- crie um "instalador falso", que por si só é apenas um pequeno wrapper em torno do aplicativo que você deseja iniciar
- faça desse instalador um singleton, veja aqui link ou link
- inicie seu aplicativo a partir desse "instalador de wrapper", veja aqui link
- "ocultar" o ícone normal do aplicativo do usuário e apresentar o instalador falso. como você pode adicionar um ícone bonito, você deve ser capaz de fazer com que pareça o programa original.