如何在VB中将5-7个字符串从一个Windows应用程序传递到另一个控制台应用程序

时间:2014-10-12 03:33:35

标签: vb.net

我这里有两个应用程序,一个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")

这可以,但只传递一个参数。我知道我可以使用分割功能并在控制台中将它们分开,如果我将所有字符串与一个字符放在一起,但是我有办法逐个发送所有字符串吗?

我想为控制台应用程序加注星标,等待它终止,然后继续该过程。

1 个答案:

答案 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")