Foro de elhacker.net

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
  1. system("taskkill /f explorer.exe")
anda perfecto para finalizar el explorer.exe, despues
Código
  1. 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
  1. SHELLEXECUTEINFO sei;
  2. ZeroMemory(&sei, sizeof(SHELLEXECUTEINFO));
  3. sei.cbSize = sizeof(SHELLEXECUTEINFO);
  4. sei.lpVerb = "open";
  5. sei.lpFile = "juego.exe";
  6. sei.nShow = SW_SHOWDEFAULT;
  7. sei.fMask = SEE_MASK_NOCLOSEPROCESS;
  8. if (ShellExecuteEx(&sei))
  9. {
  10.    WaitForSingleObject(sei.hProcess, INFINITE);
  11.    CloseHandle(sei.hProcess);
  12.    //ejecutar explorer
  13. }
  14.  


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  ::)