Vb.net 写入命令行不起作用

Vb.net 写入命令行不起作用,vb.net,Vb.net,我需要使用的一个应用程序(USB捕获实用程序)有一个.cmd版本,我可以从我的Visual Basic代码中调用它。我可以启动应用程序并将其置于“命令行模式”,如下所示: Public Class MyClass Dim StreamWriteUtility As System.IO.StreamWriter Dim StreamReadUtility As System.IO.StringReader Dim ProcessInfo As ProcessStartInf

我需要使用的一个应用程序(USB捕获实用程序)有一个.cmd版本,我可以从我的Visual Basic代码中调用它。我可以启动应用程序并将其置于“命令行模式”,如下所示:

Public Class MyClass
    Dim StreamWriteUtility As System.IO.StreamWriter
    Dim StreamReadUtility As System.IO.StringReader
    Dim ProcessInfo As ProcessStartInfo
    Dim Process As Process

    Public Sub StartUSBCapture(ByVal DataStorageLocation As String)
        Dim ProcessInfo As ProcessStartInfo
        Dim Process As New Process

        ProcessInfo = New ProcessStartInfo("C:\FW_Qualification_Suite\data-center-windows\data-center\bin\datacenter.cmd", "-c ")
        ProcessInfo.CreateNoWindow = True
        ProcessInfo.UseShellExecute = False 'Must be changed if redirect set to True
        ProcessInfo.RedirectStandardInput = True

        Process = Process.Start(ProcessInfo)

        SWUtility = Process.StandardInput

        While True
            SWUtility.WriteLine("run") 'Looping for test to ensure this isn't a timing issue
        End While
    End Sub
End Class
这将启动应用程序并打开一个单独的命令行窗口,该窗口应接受进一步的命令(即捕获、运行、停止等)。但是,我很难让这些后续命令显示在命令行窗口中。我已尝试重定向流程的标准输入,但控制台窗口中仍然没有显示任何内容


谁能告诉我应该如何将这些命令从我的Visual Basic程序实际输入到这个应用程序中?

您需要重定向您创建的进程的标准输入,并以这种方式向它发送文本,而不是使用
控制台。Writeline
(您的程序与创建的进程没有其他连接)。这里可能也有人问过,也有人回答过。类似:,还有:我已经通读了关于重定向流程的标准输入的帖子,但控制台窗口中仍然没有显示任何内容。为更新的代码进行后期编辑。您是否尝试过
WriteLine
而不是
Write
?我希望进程正在等待实际的换行符。