过去,我多次捕获控制台程序的输出,但是这给了我很大的麻烦。 我想开始收听IPFS PubSub主题并捕获所有收到的消息。我将ListBox用作嵌入式控制台窗口。
我很典型:
proc.EnableRaisingEvents = true;
proc.OutputDataReceived += new DataReceivedEventHandler(RedirectedProcess_OutputDataReceived);
proc.ErrorDataReceived += new DataReceivedEventHandler(RedirectedProcess_ErrorDataReceived);
proc.Exited += new EventHandler(RedirectedProcess_Exited);
proc.StartInfo.WorkingDirectory = Path.GetDirectoryName(path);
proc.StartInfo.FileName = path;
proc.StartInfo.Arguments = args;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardError = true;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
proc.BeginErrorReadLine();
proc.BeginOutputReadLine();
上面的方法在大多数情况下都可以正常工作,但是当我使用它执行时
ipfs pubsub sub topic_name
它从不显示收到的消息。
有什么想法吗?