我这里有两个应用程序,一个Windows窗体应用程序和另一个控制台应用程序。
我希望Windows应用程序发送,
"1"
"2"
"3"
"4"
"5"
"6"
"7"
然后控制台应用程序应该接收它们,
Dim str1 as string = "1"
Dim str2 as string = "2"
Dim str3 as string = "3"
Dim str4 as string = "4"
Dim str5 as string = "5"
Dim str6 as string = "6"
Dim str7 as string = "7"
我找到了这段代码,
Dim str as stirng = Command()
并从Windows应用程序
Process.Start("my path to console app.exe", "the text")
这可以,但只传递一个参数。我知道我可以使用分割功能并在控制台中将它们分开,如果我将所有字符串与一个字符放在一起,但是我有办法逐个发送所有字符串吗?
我想为控制台应用程序加注星标,等待它终止,然后继续该过程。
答案 0 :(得分:1)
如果您要手动启动控制台应用程序(而不是在数据已经运行时发送数据),则可以使用命令行参数。从this question获取我们的控制台应用程序的Sub Main:
Public Sub Main(ByVal sArgs() As String)
If sArgs.Length = 0 Then 'If there are no arguments
Console.WriteLine("no arguments passed")
Else 'We have some arguments
Dim i As Integer = 0
While i < sArgs.Length 'So with each argument
Console.WriteLine("Hello " & sArgs(i) & "!") 'Print out each item
i = i + 1 'Increment to the next argument
End While
End If
End Sub
然后你可以使用:
Process.Start("myConsoleApp.exe", "1 2 3 4 5 6 7")