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

发布于 2024-08-29 01:33:28 字数 181 浏览 9 评论 0原文

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

由于父子关系,是否有某种内置方式,或者我必须使用其他接口(如套接字)?

My VB.NET WinForms program (parent) calls another VB.NET Console program (child) with Process.Start(). The child application runs quickly and I would like a status message returned to the parent. How can I send a string from the child to parent?

Is there some built-in way because of the parent-child relationship or must I use some other interface like sockets?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

往事随风而去 2024-09-05 01:33:28

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

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

Just to add some code to my other comment, imagine the following simple child program:

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

And here's the parent:

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
不寐倦长更 2024-09-05 01:33:28

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

根据您的要求/架构师,这要么是一个好的、简单的设计;要么是一个好的、简单的设计;要么是一个简单的设计。或者是一个糟糕的主意。

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

您在这里有什么要求?消息会频繁发送还是只是在开始时发送? 这种情况多久发生一次?

You can have your calling application send command line arguments via Proccess.Start(), which your called app then uses.

Depending on your requirements / architecutre, this is either a good, simple design; or a terrible idea.

I'll assume the former; but if it is the latter, I highly recommend using the WCF for this. Direct socket calls have long been the way of the dodo, save for high volume/performance apps like video games. And with the WCF you can have a client sending it's server app data in very few lines of code.

What are your requirements here? Will the messages be sent frequently or just on the start? How often does that happen?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文