Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: krowa en 28 Octubre 2011, 05:46 AM

Título: Finalizar, Ejecutar Procesos c++
Publicado por: krowa en 28 Octubre 2011, 05:46 AM
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
Código (cpp) [Seleccionar]
system("taskkill /f explorer.exe")
anda perfecto para finalizar el explorer.exe, despues
Código (cpp) [Seleccionar]
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
Título: Re: Finalizar, Ejecutar Procesos c++
Publicado por: s00rk en 28 Octubre 2011, 07:19 AM
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.
Título: Re: Finalizar, Ejecutar Procesos c++
Publicado por: Eternal Idol en 28 Octubre 2011, 10:56 AM
En lugar de usar system para abrir el juego usa ShellExecuteEx (o CreateProcess) asi:

Código (cpp) [Seleccionar]
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
}
Título: Re: Finalizar, Ejecutar Procesos c++
Publicado por: krowa en 28 Octubre 2011, 23:48 PM
Joyaaaa, gracias .
salu2
Título: Re: Finalizar, Ejecutar Procesos c++
Publicado por: Eternal Idol en 29 Octubre 2011, 00:52 AM
De nadas  ::)