Starcraft II me impide ejecutar varias instancias, pero si ejecuto la segunda instancia de sandbox en Sandboxie , funciona. ¿Qué podría explicar esto?
¿Cómo podría replicar este comportamiento para mis propios juegos?
software-engineering
Brandon
fuente
fuente
Recomiendo el enfoque mutex, pero:
Otro método que se usa con frecuencia es simplemente verificar si se está ejecutando otro proceso con el mismo nombre.
La ventaja es que es ridículamente fácil: no tiene que preocuparse por los permisos de archivos ni saber qué es un mutex. La desventaja es que obtendrá un falso positivo si se ejecuta un programa diferente llamado
starcraft2.exe
en la máquina.fuente
Si está utilizando C ++ y la API de Windows, una forma de hacerlo es mediante el uso de
FindWindow
parámetros como el nombre de la clase y / o el nombre de la ventana. Luego, si encuentra una coincidencia, simplemente salga de su programa incluso antes de cargar o crear una ventana.fuente