从子应用程序发送字符串到父

时间:2010-04-14 15:24:50

标签: vb.net process

我的VB.NET WinForms程序(父)使用Process.Start()调用另一个VB.NET控制台程序(子)。子应用程序运行得很快,我希望将状态消息返回给父代。如何将孩子的字符串发送给父母?

是否有一些内置方式,因为父子关系或者我是否必须使用其他接口,如套接字?

2 个答案:

答案 0 :(得分:1)

您可以让您的调用应用程序通过Proccess.Start()发送命令行参数,然后您的被叫应用程序将使用该参数。

根据您的要求/建筑设计,这是一个好的,简单的设计;或者是一个可怕的想法。

我会假设前者;但如果是后者,我强烈建议使用WCF。直接套接字呼叫一直是渡渡鸟的方式,除了视频游戏等高容量/性能应用。使用WCF,您可以让客户端以极少的代码行发送服务器应用程序数据。

这里有什么要求?消息是经常发送还是仅在开始时发送? 发生的频率是多少次?

答案 1 :(得分:1)

只是为我的其他评论添加一些代码,想象一下以下简单的子程序:

Module Module1
    Sub Main()
        Console.WriteLine("This is a test")
    End Sub
End Module

这是父母:

Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim P As New Process()
        P.StartInfo.FileName = "Child.exe"
        P.StartInfo.RedirectStandardOutput = True
        P.StartInfo.UseShellExecute = False
        P.Start()
        Dim T = P.StandardOutput.ReadToEnd()
        'Do something with T
    End Sub
End Class