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。