modelbaby5 2023-05-14 13:58 采纳率: 0%
浏览 63
已结题

VB.NET 执行一个exe程序并实时获取返回值

VB.NET 执行一个exe程序并实时获取返回值
python编写的exe程序,每隔5秒print一个值,想实现用VB.NET调用这个exe执行,实时获取exe执行时返回的值(print内容),主要是vb代码如何实现,用shell只能返回程序ID。
需要的是实时读取,而不是等程序执行完后再一起返回内容
求帮忙

  • 写回答

5条回答 默认 最新

  • 2023大表舅 2023-05-15 14:45
    关注
    获得1.50元问题酬金

    你可以使用 Process 类来执行该exe程序并实时获取返回值。以下是示例代码:

    Dim process As New Process()
    
    With process.StartInfo
        .FileName = "path/to/your/python/exe/program.exe"
        .UseShellExecute = False '需设置为False以重定向标准输出
        .RedirectStandardOutput = True '重定向标准输出
        .CreateNoWindow = True '不创建新窗口
    End With
    
    process.Start()
    Dim output As String = ""
    
    While Not process.StandardOutput.EndOfStream
        output &= process.StandardOutput.ReadLine() & vbCrLf '实时读取
        '可以在这里对读取到的内容做其他处理
        '比如可以在UI界面上展示读取到的内容
    End While
    
    process.WaitForExit()
    

    通过以上代码,你可以实现用VB.NET调用这个exe执行,并实时获取exe执行时返回的值(print内容)。在每次读取完输出时你可以对其进行任何你想要的处理,比如将其展示在UI界面上。

    评论

报告相同问题?

问题事件

  • 系统已结题 5月23日
  • 修改了问题 5月15日
  • 赞助了问题酬金15元 5月15日
  • 创建了问题 5月14日