Título: Ejecutar .exe desde C++ Publicado por: XafiloX en 7 Noviembre 2010, 20:13 pm Hola a todos. Me gustaría saber cómo puedo hacer para ejecutar un exe desde C++ y obtener su salida para luego poderla tratar con mi programa.
¡Muchas gracias y un saludo! Título: Re: Ejecutar .exe desde C++ Publicado por: madpitbull_99 en 7 Noviembre 2010, 20:59 pm Si mal no me acuerdo se puede hacer con system() o con CreateProcess (http://support.microsoft.com/kb/175986), con system seria algo como :
Código Corregidme si me equivoco. Título: Re: Ejecutar .exe desde C++ Publicado por: Shell Root en 7 Noviembre 2010, 21:13 pm Pero si mal no recuerdo debería ser así,
Código Pero no sé si se puede obtener el resultado, -como lo hace php- obtener su salida para luego poderla tratar con mi programa. Título: Re: Ejecutar .exe desde C++ Publicado por: XafiloX en 7 Noviembre 2010, 23:49 pm Hola, gracias por responder.
He buscado ambas funciones y ninguna de las dos devuelve el resultado...system solamente devuelve 0, que significa que lo ha ejecutado con exito... A ver si alguien conoce alguna función más... Título: Re: Ejecutar .exe desde C++ Publicado por: BlackZeroX en 8 Noviembre 2010, 00:04 am .
Interceptando las salidas del debug... Dulces Lunas!¡. Título: Re: Ejecutar .exe desde C++ Publicado por: XafiloX en 8 Noviembre 2010, 09:16 am Como que el debug? Te refieres al debug que sirve para depurar los programas? Pero yo lo que quiero es un programa que llame a otro y realice ciertas operaciones sobre la salida del otro, cómo haría para llamar al debug y que me devuelva los resultados?
Título: Re: Ejecutar .exe desde C++ Publicado por: piou en 8 Noviembre 2010, 14:49 pm Yo eso lo hacía redireccionando la salida a un archivo y leyendolo desde el programa, por ejemplo, este programa que ejecuta en linux el gcc y compila un archivo, y luego saca los errores, este justo es bastante inutil pero sirve como ejemplo:
Este es el programa: Código: #include <stdio.h> Este es el archivo en C que le paso al gcc, con un fallo para que haya salida por stderr Código: #include <stdio.h> Si ejecutamos el programa se obtiene: Código: laptop:~$ ./a.out Y efectivamente en el archivo archivo.txt tenemos los fallos que nos ha mostrado antes. Código: acompilar.c: In function ‘main’: Título: Re: Ejecutar .exe desde C++ Publicado por: MazarD en 8 Noviembre 2010, 15:17 pm -CreatePipe -CreateProcess -En el startupinfo de createprocess asignas tu pipe a la salida estandar (hStdOutput) -ReadFile sobre la pipe Investiga sobre pipes, en google o la msdn seguro que hay mucha información al respecto Saludos! Título: Re: Ejecutar .exe desde C++ Publicado por: XafiloX en 8 Noviembre 2010, 17:57 pm Ummm...he empezado a buscar sobre pipes y me estoy dando cuenta de que es un auténtico mundo por descubrir...Cuando consiga hacer el programilla os lo digo por aquí.
Un saludo y ¡¡muchísimas gracias por la ayuda!! |