相关疑难解决方法(0)

C#:重定向控制台应用程序输出:如何刷新输出?

我正在产生外部控制台应用程序并使用异步输出重定向.
如此SO帖子所示

我的问题是,在得到OutputDataReceived事件通知之前,生成的进程似乎需要产生一定量的输出.

我想尽快收到OutputDataReceived事件.

我有一个简单的重定向应用程序,这里有一些观察:
1.当我调用一个简单的'while(true)print("X");' 控制台应用程序(C#)我立即收到输出事件.2.当我调用3d派对应用程序时,我试图从命令行换行,我看到逐行输出.
3.当我从裸骨包装器中调用该3d派对应用程序时(参见1) - 输出以块(约一页大小)的形式出现.

该应用内部会发生什么?

仅供参考:有问题的应用程序是"USBee DX数据Exctarctor(异步总线)v1.0".

c# console external-process output-redirect

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

从C#控制台应用程序运行npm init

我尝试使用以下代码从c#控制台应用程序运行“ npm init”命令:

private void Execute(string command, string arg)
    {
        Process p = new Process();
        p.StartInfo.FileName = command;
        p.StartInfo.Arguments = arg;
        p.StartInfo.UseShellExecute = false;
        p.StartInfo.RedirectStandardOutput = true;
        p.StartInfo.RedirectStandardInput = true;
        p.StartInfo.WorkingDirectory = @"E:\Work\";  
        p.Start();
        p.WaitForExit();
    }

    Execute(@"C:\Program Files\nodejs\npm.cmd", "init");
Run Code Online (Sandbox Code Playgroud)

但是什么也没发生。运行我的应用程序后,我只有2个空行。请帮助解决此问题。

c# console-application node.js npm

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