Bueno resulta que tengo un juego el cual se ve "mal" cuando lo ejecutas y si finalizas el proceso "explorer.exe" y abris el juego se ve BIEN.
El tema es que quiero hacer un programita en c++ que haga lo siguiente:
-Termine el proceso "explorer.exe"
-Ejecute el juego(ejemplo: juego.exe)
Y QUE CUANDO "juego.exe" deje de ejecutarse se ejecute el proceso "explorer.exe"
-
con system("taskkill /f explorer.exe")
anda perfecto para finalizar el explorer.exe, despues system("start juego.exe")
Hasta aca todo bien..
La pregunta es COMO HAGO PARA QUE CUANDO EL USUARIO CIERRE EL JUEGO( juego.exe) SE EJECUTE EXPLORER.EXE
-
Se me ocurrio con un while.. pero no, no tengo idea.
mientras se esta ejecutando que no haga nada y cuando se termine de ejecutar que ejecute explorer.exe? :S
Y tampoco se como corroborar si se esta ejecutando dicho proceso(juego.exe)
Si alguien tiene ideaa que ayudee!
Gracias, salu2
Bueno lo mas sencillo a mi parecer seria una dll, que al inyectarse al juego cierre el explorer y cuando cierra el juego pues abre el explorer y ya solo tendrias que modificar el juego.exe para que autocargue tal dll.
En lugar de usar system para abrir el juego usa ShellExecuteEx (o CreateProcess) asi:
SHELLEXECUTEINFO sei;
ZeroMemory(&sei, sizeof(SHELLEXECUTEINFO));
sei.cbSize = sizeof(SHELLEXECUTEINFO);
sei.lpVerb = "open";
sei.lpFile = "juego.exe";
sei.nShow = SW_SHOWDEFAULT;
sei.fMask = SEE_MASK_NOCLOSEPROCESS;
if (ShellExecuteEx(&sei))
{
WaitForSingleObject(sei.hProcess, INFINITE);
CloseHandle(sei.hProcess);
//ejecutar explorer
}
Joyaaaa, gracias .
salu2
De nadas ::)