elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  problema con system(") en C++
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: problema con system(") en C++  (Leído 2,223 veces)
victorio95

Desconectado Desconectado

Mensajes: 3



Ver Perfil
problema con system(") en C++
« en: 25 Octubre 2019, 14:57 pm »

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


En línea

si sabes la pregunta solo tienes que preguntar,
si preguntas nunca lo sabrás.
Serapis
Colaborador
***
Desconectado Desconectado

Mensajes: 3.351


Ver Perfil
Re: problema con system(") en C++
« Respuesta #1 en: 25 Octubre 2019, 20:27 pm »

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...


En línea

ThunderCls


Desconectado Desconectado

Mensajes: 455


Coder | Reverser | Gamer


Ver Perfil WWW
Re: problema con system(") en C++
« Respuesta #2 en: 28 Octubre 2019, 18:50 pm »

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
  1. 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!
En línea

-[ "…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/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines