Hola a todos,
Es conocido que Starcraft requiere que no esté activo el explorador de windows para ejecutarse con los colores verdaderos. Han sido dados varios códigos que en esencia hacen lo mismo y le funcionan a varias personas... el problema es para los que estamos en el grupo de personas que no les funciona.
El código estándar para el archivo .bat es este:
dijo:
@ECHO OFF
taskkill /f /IM explorer.exe
Start StarCraft.exe
Start /wait explorer.exe
exit
Hay variaciones donde no colocan el comando /wait; sin embargo, parece funcionar en las dos formas a bastantes personas. La idea es que se copia en un block de notas y se guarda como starcraft.bat no como archivo .txt
El problema radica en los que tenemos activado Starcraft con un loader para que no pida el CD del juego

El asunto es que podemos automatizar con el batch anterior que ejecute el loader, el mío se llama Starcraft_Full.exe, pero luego el proceso existente es el starcraft.exe de siempre, como el batch detecta que ya no se está ejecutando entonces reinicia el explorer y se va todo al ...
Pedirle que carge starcraft.exe antes de iniciar el explorer tampoco funciona, pues pide el CD, se cierra y a continuación arranca de nuevo el explorer.
La solución fue un híbrido, la verdad lamento no citar las fuentes externas que aportaron ideas y partes del código con el que ajusté el mío propio que me resolvió el problema, pero lo agradezco mucho.

Aquí el código solución al problema anterior:
dijo:
@ECHO OFF
taskkill /f /IM explorer.exe > NUL
StarCraft_Full.exe
choice /N /T 2 /C 7 /D 7 > NUL
:Comprobar
tasklist /FI "IMAGENAME eq Starcraft.exe" | findstr PID >nul
IF %ERRORLEVEL% LEQ 0 Ping -n 1 localhost >nul & goto :Comprobar
IF NOT %ERRORLEVEL% LEQ 0 start /b explorer.exe & exit
Ahora por partes que se supone que hace:
dijo:@ECHO OFF
taskkill /f /IM explorer.exe > NUL
Chequea el explorer.exe y lo termina
dijo:StarCraft_Full.exe
Inicia el loader de starcraft, pónganle el nombre que tenga el suyo
dijo:choice /N /T 2 /C 7 /D 7 > NUL
:Comprobar
tasklist /FI "IMAGENAME eq Starcraft.exe" | findstr PID >nul
Hace una labor de verificación de actividad y en el listado de las tareas/programas activos buscando starcraft.exe que es el archivo del juego que termina ejecutándose por medio del loader
dijo:IF %ERRORLEVEL% LEQ 0 Ping -n 1 localhost >nul & goto :Comprobar
Si encuentra ejecutándose starcraft.exe, vuelve a hacer la comprobación cada segundo, regresa al comando anterior
dijo:IF NOT %ERRORLEVEL% LEQ 0 start /b explorer.exe & exit
Si no lo encuentra ejecuta explorer.exe y sale de la ventana de cmd para que no quede en un bucle infinito de ejecuciones del explorer.exe
Listo, problema resuelto
