O Starcraft II me impede de executar várias instâncias, mas se eu executar a segunda instância na área restrita no Sandboxie , ela funcionará. O que pode explicar isso?
Como posso replicar esse comportamento para meus próprios jogos?
software-engineering
Brandon
fonte
fonte
Eu recomendo a abordagem mutex, mas:
Outro método frequentemente usado é simplesmente verificar se outro processo com o mesmo nome está em execução.
A vantagem é que é ridiculamente fácil - você não precisa se preocupar com permissões de arquivo ou saber o que é um mutex. A desvantagem é que você receberá um falso positivo se um programa diferente chamado
starcraft2.exe
estiver em execução na máquina.fonte
Se você estiver usando C ++ e a API do Windows, é possível, usando uma maneira
FindWindow
, transmitir parâmetros como o nome da classe e / ou o nome da janela. Então, se você encontrar uma correspondência, basta sair do seu programa antes mesmo de carregar ou criar uma janela.fonte