Esta es la solución clara:
Te la muestro con un ejemplo, tenemos el siguiente programa C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string a, b, c;
System.Console.WriteLine("ingrese a: \n");
a = System.Console.ReadLine();
System.Console.WriteLine("ingrese b: \n");
b = System.Console.ReadLine();
System.Console.WriteLine("ingrese c: \n");
c = System.Console.ReadLine();
System.Console.WriteLine("a:" + a + " b:" + b + " c:" + c);
Console.ReadKey();
}
}
}
Un simple programa que pide que le ingreses 3 valores..
Le enviamos el siguiente comando cmd para ingresar los 3 valores automaticamente:
(echo "valor para a" && echo "valor para b" && echo "valor para c")|ConsoleApplication1.exe
IMPRIME EN PANTALLA:
a:"valor para a" b:"valor para b" c:"valor para c"
-----------------------------------------------------------------------------------------
Por si quieres aprender algo más y una solución más sucia pero muy útil de aprender:
Puede simular keystrokes desde c++:
Aunque en este caso tendras que usar threads o crear un programa externo ya que el anterior estara bussy con lo que ejecutaste de cmd.
#include <windows.h>
// ENTER key down
keybd_event(VK_RETURN, 0x9C, 0, 0);
// ENTER key up
keybd_event(VK_RETURN, 0x9C, KEYEVENTF_KEYUP, 0);
Si quieres hacerlo mejor primero dale el foco a esa ventana o que se lo envie..
HWND TuVentana = FindWindow(_T("TuVentana"), NULL);
SendMessage(TuVentana, WM_KEYDOWN, VK_RETURN, 0);
Prueba también:
PostMessage(TuVentana, WM_KEYDOWN, VK_RETURN, 0);
Saludos,