小编Nik*_*kov的帖子

如何在C#中异步读取结束进程输出?

我在C#中异步读取一个进程的输出时遇到问题.我在这个网站上发现了一些其他类似的问题,但它们对我没有帮助.这是我做的:

  1. 制作新流程
  2. 设置startinfo -FileName,Arguments,CreateNoWindow(true),UseShellExecute(false),RedirectStandardOutput(true)
  3. 将事件处理程序添加到OutputDataReceived;
  4. 启动进程,BeginOutputReadLine,然后是WaitForExit().

它工作正常,但启动过程的输出写了一些%我想得到的百分比(),但我不能,因为我的代码逐行读取,百分比没有显示.

例:

%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)

c# asynchronous process

7
推荐指数
3
解决办法
1万
查看次数

Kinect - 录制和使用视频

我计划购买 Windows 版 Kinect,因为我要与一位朋友一起制作一个学校项目。我的问题很简单——我可以用 Kinect 录制一些手势的视频然后发送给他,因为他买不到 Kinect。他是否能够加载视频并在运行时使用它,就像来自 kinect 的流一样,以便我们俩都可以处理该项目。该项目将用 C# 编写,可能使用 Microsoft 的 Kinect SDK,如果需要的话还可以使用 OpenCV 或 OpenNI。

video load kinect

4
推荐指数
1
解决办法
5832
查看次数

标签 统计

asynchronous ×1

c# ×1

kinect ×1

load ×1

process ×1

video ×1