Windowsフォームでコンソール出力を取り込む

Windowsフォーム>

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim command As String = "C:\Users\naoki\Documents\Visual Studio 2010\Projects\consoleInput1\consoleInput1\bin\Debug\consoleInput1.exe"

Dim p As New Process()

p.StartInfo.FileName = command ' 実行するファイル
p.StartInfo.CreateNoWindow = True ' コンソールを開かない
p.StartInfo.UseShellExecute = False ' シェル機能を使用しない

p.StartInfo.RedirectStandardOutput = True ' 標準出力をリダイレクト

p.Start() ' アプリの実行開始

Dim output As String = p.StandardOutput.ReadToEnd() ' 標準出力の読み取り

'output = output.Replace(vbCr + vbCrLf, vbLf) ' 改行コードの修正
'Debug.Write(output)

TextBox1.Text = output

End Sub
End Class

 

<コンソール>

Module Module1

Sub Main()

Console.WriteLine("スタート")

End Sub

End Module