我在C#中异步读取一个进程的输出时遇到问题.我在这个网站上发现了一些其他类似的问题,但它们对我没有帮助.这是我做的:
它工作正常,但启动过程的输出写了一些%
我想得到的百分比(),但我不能,因为我的代码逐行读取,百分比没有显示.
例:
%0,%1...%100
Finished.
Run Code Online (Sandbox Code Playgroud)
我的输出:
%0
Finished.
Run Code Online (Sandbox Code Playgroud)
这是我的程序的当前代码:
StringBuilder sBuilder = new StringBuilder();
static void proc_OutputDataReceived(object sender, DataReceivedEventArgs e)
{
sBuilder.AppendLine(e.Data);
}
static void CommandExecutor()
{
Process process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = /*path of the program*/,
Arguments = /*arguments*/,
CreateNoWindow = true,
UseShellExecute = false,
WindowStyle = ProcessWindowStyle.Hidden,
RedirectStandardOutput = true
}
};
process.OutputDataReceived += new DataReceivedEventHandler(proc_OutputDataReceived);
process.Start();
process.BeginOutputReadLine();
process.WaitForExit();
}
Run Code Online (Sandbox Code Playgroud) 我计划购买 Windows 版 Kinect,因为我要与一位朋友一起制作一个学校项目。我的问题很简单——我可以用 Kinect 录制一些手势的视频然后发送给他,因为他买不到 Kinect。他是否能够加载视频并在运行时使用它,就像来自 kinect 的流一样,以便我们俩都可以处理该项目。该项目将用 C# 编写,可能使用 Microsoft 的 Kinect SDK,如果需要的话还可以使用 OpenCV 或 OpenNI。