我有一个VB.net程序,其中我称之为
Shell函数.我想从文件中获取从该代码生成的文本输出.但是,这不是执行代码的返回值,所以我不知道该怎么做.
这个程序是一个服务,但访问磁盘没有问题,因为我已经记录其他信息.整个服务有多个线程,所以我还必须确保当文件被写入时,它还没有被访问.
谢谢,
您将无法捕获Shell的输出.
您将需要将其更改为一个进程,您将需要从进程捕获Standard Output(可能是错误)流.
这是一个例子:
- Dim oProcess As New Process()
- Dim oStartInfo As New ProcessStartInfo("ApplicationName.exe","arguments")
- oStartInfo.UseShellExecute = False
- oStartInfo.RedirectStandardOutput = True
- oProcess.StartInfo = oStartInfo
- oProcess.Start()
- Dim sOutput As String
- Using oStreamReader As System.IO.StreamReader = oProcess.StandardOutput
- sOutput = oStreamReader.ReadToEnd()
- End Using
- Console.WriteLine(sOutput)