Vb.net 如何启动和关闭控制台应用程序?

Vb.net 如何启动和关闭控制台应用程序?,vb.net,console-application,Vb.net,Console Application,控制台应用程序: Dim myno As Integer = 1010 Console.WriteLine(Convert.ToString(myno)) Dim sw As New StreamWriter("filename.txt", True) sw.Write(Convert.ToString(myno)) sw.Flush() sw.Close() Console.ReadLine() Dim mm As New Sy

控制台应用程序:

    Dim myno As Integer = 1010
    Console.WriteLine(Convert.ToString(myno))
    Dim sw As New StreamWriter("filename.txt", True)
    sw.Write(Convert.ToString(myno))
    sw.Flush()
    sw.Close()
    Console.ReadLine()
    Dim mm As New System.Diagnostics.Process
    Dim info As New System.Diagnostics.ProcessStartInfo(Application.StartupPath & "\ConsoleApplication1.exe")
    mm.StartInfo = info
    mm.Start()
    Dim f As New FileInfo(Application.StartupPath & "\filename.txt")
    Dim s As StreamReader = f.OpenText
    TextBox1.Text = s.ReadToEnd
    If Not String.IsNullOrEmpty(TextBox1.Text) Then
        mm.Kill()
    End If
Windows应用程序:

    Dim myno As Integer = 1010
    Console.WriteLine(Convert.ToString(myno))
    Dim sw As New StreamWriter("filename.txt", True)
    sw.Write(Convert.ToString(myno))
    sw.Flush()
    sw.Close()
    Console.ReadLine()
    Dim mm As New System.Diagnostics.Process
    Dim info As New System.Diagnostics.ProcessStartInfo(Application.StartupPath & "\ConsoleApplication1.exe")
    mm.StartInfo = info
    mm.Start()
    Dim f As New FileInfo(Application.StartupPath & "\filename.txt")
    Dim s As StreamReader = f.OpenText
    TextBox1.Text = s.ReadToEnd
    If Not String.IsNullOrEmpty(TextBox1.Text) Then
        mm.Kill()
    End If

但是,控制台应用程序不会写入文本文件,Windows应用程序启动但不会关闭。

您将立即尝试读取文件,而不是等待控制台应用程序完成写入文件。如果您可以控制console应用程序,请删除最后一条
ReadLine
,以便它在完成后自动关闭。然后,您可以等待进程结束,然后再读取文件。但是,如果您无法修改控制台应用程序,您将不得不执行一些更“黑客”的操作,例如等待文件更改,或等待指定的时间段,并希望等待时间足够长。

为什么要关闭Windows应用程序,您没有发布任何导致其关闭的代码。而且“C应用程序不在文本文件中写入”并没有提供足够的信息。是否出错,文件是否未创建,等等。原则上需要详细信息。我的Console应用程序在文本文件中读写,但我无法控制。我想启动consoleapp并从文本文件中获取值,然后关闭consoleapp。