erramienta de prueba de software @Simple - VB.NET

ok, no te rías de esto: x
Estoy tratando de crear una herramienta de prueba de software simple en VB.NET
i creó un simple programa C PROG.EXE que escanea un número e imprime la SALIDA, y comenzó a construir mi probador, debería ejecutar PROG.EXE output.txt, entonces PROG.EXE toma la entrada de input.txt e imprime la salida a output.txt
pero fallé, ¡al principio probé Process.start y luego shell pero nada funcionó!
so hice este truco, los códigos VB.NET generan un archivo por lotes con estos códigos PROG.EXE output.txt, pero nuevamente fallé, aunque VB.NET creó el archivo por lotes y también se ejecuta, ¡pero no pasó nada! ¡pero cuando ejecuté manualmente el archivo por lotes obtuve éxito!
¡Intenté ejecutar el archivo por lotes y luego envié la tecla VBCR / LF / CRLF todavía no pasa nada!
¿Qué está mal?

Mi código VB.NET, estoy usando Visual Studio 2010 Professional

Option Explicit On  
Option Strict On  
Public Class Form1  
 Dim strFileName As String

 Private Sub btnRun_Click() Handles btnRun.Click  
  Dim strOutput As String  
  Using P As New Process()  
   P.StartInfo.FileName = strFileName  
   P.StartInfo.Arguments = txtInput.Text  
   P.StartInfo.RedirectStandardOutput = True  
   P.StartInfo.UseShellExecute = False  
  P.StartInfo.WindowStyle = ProcessWindowStyle.Hidden  ' will this hide the console ?
   P.Start()  
   Using SR = P.StandardOutput  
    strOutput = SR.ReadToEnd()  
   End Using  
  End Using  
  txtOutput.Text = strOutput  
 End Sub

 Private Sub btnTarget_Click() Handles btnTarget.Click  
  dlgFile.ShowDialog()  
  strFileName = dlgFile.FileName  
  lblFileName.Text = strFileName  
 End Sub  
End Class  

Y este es mi código C

#include<stdio.h>  
#include<conio.h>

void main()
{
 int x;
 scanf("%d",&x);
 printf("%d",(x*x));
}

my programa funciona perfectamente cuando ejecuto prog.exe <input.txt> output.txt en la consola

Respuestas a la pregunta(2)

Su respuesta a la pregunta