problema con system(") en C++

Iniciado por victorio95, 25 Octubre 2019, 14:57 PM

0 Miembros y 1 Visitante están viendo este tema.

victorio95

Bueno, primer post. Sed amables jajaja.

Al lío,
estoy haciendo un programa en C++ el cual llama a un programa externo mediante la función system(ruta). Pero dicho programa tiene  una especie de "switch". Ésto hace que no pueda completarse la llamada y se queda en espera hasta que, en este caso, le de al 1.

el programa al que llamo es 2jpeg.exe:


system("2jpeg -src rutaInput -dst rutaOutput -jpeg mode:quality:100");

al ejecutar esto en el cmd es cuando me sale el "switch":

Before you start converting process,
please note that free version of 2Jpeg
adds one demo label to the output file


1- Continue, 2- Order FULL version, 3- Exit

entonces... ¿Es posible decirle desde C++ pasarle el 1 para que continúe con el proceso?

Gracias de antemano
si sabes la pregunta solo tienes que preguntar,
si preguntas nunca lo sabrás.

Serapis

Olvida un programa que te muestra publicidad en las imágenes...

"Guglea" algún ejemplo que utilice la api de GDI+ : GdipSaveImageToFile
te permite guardar en jpg definiendo el nivel de calidad y también en png o tiff...

ThunderCls

Opino igual que NEBIRE, no es necesario usar software de terceros para hacer lo que deseas. De igual manera y habiendo dicho lo anterior, si de todas formas deseas seguir usando 2jpeg te puedo dar un par de ideas:

1- Solucion tanto facil como cutre  :-\
    Utiliza la redireccion de entrada de consola de windows con un fichero. Te creas un fichero con la respuesta que espera 2jpeg (en este caso 1) y luego modificas tu linea de comandos para que tome la
    entrada desde ese fichero algo como:
   
Código (cpp) [Seleccionar]
system("2jpeg -src rutaInput -dst rutaOutput -jpeg mode:quality:100 < fichero.txt");

2- Solucion preferible  ;-)
    Usa CreateProcess/Pipes para poder redireccionar la entrada y/o salida de un child process
    https://docs.microsoft.com/en-us/windows/win32/procthread/creating-a-child-process-with-redirected-input-and-output

Suerte!
-[ "...I can only show you the door. You're the one that has to walk through it." – Morpheus (The Matrix) ]-
http://reversec0de.wordpress.com
https://github.com/ThunderCls/