C# 在运行时获取进程输出

2024-01-16

无论如何,是否可以重定向生成进程的标准输出并在发生时捕获它。我所看到的一切都只是在该过程完成后执行 ReadToEnd 。我希望能够在打印时获得输出。

Edit:

    private void ConvertToMPEG()
    {
        // Start the child process.
        Process p = new Process();
        // Redirect the output stream of the child process.
        p.StartInfo.UseShellExecute = false;
        p.StartInfo.RedirectStandardOutput = true;
        //Setup filename and arguments
        p.StartInfo.Arguments = String.Format("-y -i \"{0}\" -target ntsc-dvd -sameq -s 720x480 \"{1}\"", tempDir + "out.avi", tempDir + "out.mpg");
        p.StartInfo.FileName = "ffmpeg.exe";
        //Handle data received
        p.OutputDataReceived += new DataReceivedEventHandler(p_OutputDataReceived);
        p.Start();
    }

    void p_OutputDataReceived(object sender, DataReceivedEventArgs e)
    {
        Debug.WriteLine(e.Data);
    }

Use Process.OutputDataReceived http://msdn.microsoft.com/en-us/library/system.diagnostics.process.outputdatareceived.aspx来自流程的事件,以接收您需要的数据。

例子:

var myProc= new Process();

...            
myProc.StartInfo.RedirectStandardOutput = true;
myProc.OutputDataReceived += new DataReceivedEventHandler(MyProcOutputHandler);

...

private static void MyProcOutputHandler(object sendingProcess, 
            DataReceivedEventArgs outLine)
{
            // Collect the sort command output. 
    if (!String.IsNullOrEmpty(outLine.Data))
    {
      ....    
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C# 在运行时获取进程输出 的相关文章

  • 用于代数简化和求解的 C# 库 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 网络上有很多代数求解器和简化器 例如 algebra com 上不错的代数求解器和简化器 然而 我正在
  • ClickOnce 应用程序错误:部署和应用程序没有匹配的安全区域

    我在 IE 中使用 FireFox 和 Chrome 的 ClickOnce 应用程序时遇到问题 它工作正常 异常的详细信息是 PLATFORM VERSION INFO Windows 6 1 7600 0 Win32NT Common
  • 复制 std::function 的成本有多高?

    While std function是可移动的 但在某些情况下不可能或不方便 复制它会受到重大处罚吗 它是否可能取决于捕获变量的大小 如果它是使用 lambda 表达式创建的 它依赖于实现吗 std function通常被实现为值语义 小缓
  • 如何创建包含 IPv4 地址的文本框? [复制]

    这个问题在这里已经有答案了 如何制作一个这样的文本框 我想所有的用户都见过这个并且知道它的功能 您可以使用带有 Mask 的 MaskedTestBox000 000 000 000 欲了解更多信息 请参阅文档 http msdn micr
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 将 Word 文档另存为图像

    我正在使用下面的代码将 Word 文档转换为图像文件 但是图片显得太大 内容不适合 有没有办法渲染图片或将图片保存到合适的尺寸 private void btnConvert Click object sender EventArgs e
  • 在 C 中初始化变量

    我知道有时如果你不初始化int 如果打印整数 您将得到一个随机数 但将所有内容初始化为零似乎有点愚蠢 我问这个问题是因为我正在评论我的 C 项目 而且我对缩进非常直接 并且它可以完全编译 90 90 谢谢 Stackoverflow 但我想
  • 在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

    我想从 Fortran 调用 C 函数 为此 我在 Visual Studio 2010 中创建了一个 FORTRAN 项目 之后 我将一个 Cpp 项目添加到该 FORTRAN 项目中 当我要构建程序时出现以下错误 Error 1 unr
  • 为什么调用非 const 成员函数而不是 const 成员函数?

    为了我的目的 我尝试包装一些类似于 Qt 共享数据指针的东西 经过测试 我发现当应该调用 const 函数时 会选择它的非 const 版本 我正在使用 C 0x 选项进行编译 这是一个最小的代码 struct Data int x con
  • 如何在 32 位或 64 位配置中以编程方式运行任何 CPU .NET 可执行文件?

    我有一个可在 32 位和 64 位处理器上运行的 C 应用程序 我试图枚举给定系统上所有进程的模块 当尝试从 64 位应用程序枚举 32 位进程模块时 这会出现问题 Windows 或 NET 禁止它 我认为如果我可以从应用程序内部重新启动
  • 如何在 Xaml 文本中添加电子邮件链接?

    我在 Windows Phone 8 应用程序中有一些大文本 我希望其中有电子邮件链接 例如 mailto 功能 这是代码的一部分
  • AES 128 CBC 蒙特卡罗测试

    我正在 AES 128 CBC 上执行 MCT 如中所述http csrc nist gov groups STM cavp documents aes AESAVS pdf http csrc nist gov groups STM ca
  • 使用管道时,如果子进程数量大于处理器数量,进程是否会被阻塞?

    当子进程数量很大时 我的程序停止运行 我不知道问题是什么 但我猜子进程在运行时以某种方式被阻止 下面是该程序的主要工作流程 void function int process num int i initial variables for
  • 如何设置 log4net 每天将我的文件记录到不同的文件夹中?

    我想将每天的所有日志保存在名为 YYYYMMdd 的文件夹中 log4net 应该根据系统日期时间处理创建新文件夹 我如何设置它 我想将一天中的所有日志保存到 n 个 1MB 的文件中 我不想重写旧文件 但想真正拥有一天中的所有日志 我该如
  • 动态添加 ASP.Net 控件

    我有一个存储过程 它根据数据库中存储的记录数返回多行 现在我想有一种方法来创建 div 带有包含该行值的控件的标记 如果从数据库返回 10 行 则 10 div 必须创建标签 我有下面的代码来从数据库中获取结果 但我不知道如何从这里继续 S
  • 方法优化 - C#

    我开发了一种方法 允许我通过参数传入表 字符串 列数组 字符串 和值数组 对象 然后使用这些参数创建参数化查询 虽然它工作得很好 但代码的长度以及多个 for 循环散发出一种代码味道 特别是我觉得我用来在列和值之间插入逗号的方法可以用不同的
  • C++ 条件编译

    我有以下代码片段 ifdef DO LOG define log p record p else define log p endif void record char data 现在如果我打电话log hello world 在我的代码中
  • 无法接收 UDP Windows RT

    我正在为 Windows 8 RT 编写一个 Windows Store Metro Modern RT 应用程序 需要在端口 49030 上接收 UDP 数据包 但我似乎无法接收任何数据包 我已按照使用教程进行操作DatagramSock
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData
  • 当我使用 OpenSSL1.1.0g 根据固定的 p 和 g 值创建 Diffie Hellman 密钥协议密钥时,应该执行哪些检查?

    您好 我尝试通过这段代码使用修复 p 和 g 参数来制作 Diffie Hellman Keysanswer https stackoverflow com a 54538811 4706711 include

随机推荐

  • urllib.request.urlopen() 是做什么的?

    在 python 3 中 urllib request 模块中的 urlopen 函数是否检索 URL 的目标 或者只是作为文件句柄打开到 URL 的连接 还是我完全丢失了它 我想了解它是如何工作的 基本上我想找到从 URL 下载文件所花费
  • 如何在django过滤查询中使用大于和小于或等于

    我正在尝试过滤从日期到日期之间添加的数据 但我得到了无法将关键字 date gte 解析为字段 我该如何解决这个问题 from1 request POST get from to request POST get to result qwe
  • 错误:无法运行 aapt

    当我编译 Android 应用程序时 我尝试使用 sdk 中的示例应用程序 我收到此错误 gt Error executing aapt Cannot run program home roel projects sdk build too
  • React Router 转换进出事件

    我对我正在开发的一个小型网站有一个相当基本的设置 我正在使用 React 和 React Router 4 现在我想在用户输入路线时添加过渡 以使用一些 javascript 动画过渡该路线的进出 但是 我不知道如何正确执行此操作 假设用户
  • 谷歌表单计时器

    我希望为我在 Google Forms 中创建的测验创建一个计时器 我在这里找到了这篇文章 如何向 Google 表单添加学校测验计时器 https stackoverflow com questions 16394435 how to a
  • 带有日期时间选择器的 SQL 语句

    希望这应该是一个简单的问题 在 Windows 窗体中使用日期时间选择器时 我希望执行 SQL 语句 如下所示 string sql SELECT FROM Jobs WHERE JobDate dtpJobDate Text 不幸的是 这
  • 动态 if 语句?

    我正在开发 生命游戏 的克隆版 无法链接维基 因为它已关闭 基本功能已完成 但我想为用户提供定义自己的规则的选项 标准的人生游戏规则是 有 2 或 3 个邻居的牢房仍然可以生存 具有 0 1 和 4 8 邻居的细胞死亡 有 3 个邻居的死亡
  • 将文件夹移动到其自己的首字母目录中

    我使用此脚本将文件夹移动到其自己的首字母目录中 echo off setlocal enabledelayedexpansion tree for d i in do set first i set first first 0 1 md f
  • FlexibleSearchQuery 响应没有数据

    我正在尝试使用获取一些数据FlexibleSearchQuery但它响应空结果 如果我设置这个查询hac gt Console gt Flexible Search我可以获得我想要的数据 这是我在 java 文件中编写查询的方式 sb ap
  • 如何检索 Mongodb 集合中的所有对象(包括 id)?

    我在用着Casbah https github com mongodb casbah and Salat https github com novus salat创建我自己的 Mongodb dao 并实现一个 getAll 方法 如下所示
  • 如何将 BufferedImage 保存为文件

    我正在使用imgscalr http www thebuzzmedia com software imgscalr java image scaling library用于调整图像大小的 Java 库 resize 方法调用的结果是 Buf
  • 将带有日期的字符串解析为日期时间对象[重复]

    这个问题在这里已经有答案了 如何将 01 Jan 1995 这样的字符串解析为Pythondatetime object 总的来说 您可以使用以下命令解析日期和时间字符串strptime功能于time or datetime模块 您的示例可
  • 如何在cocoa中模拟mac媒体键

    我需要模拟按下 mac 键盘上的媒体 功能键 从亮度到音量增大 减小的一切 这可能吗 如果是这样怎么办 我读过很多关于如何触发他们的新闻的文章 但不是这个 如果可能的话 我希望当您更改内容时 半透明的图标仍然出现在屏幕上 在 Swift 中
  • Visual C++:如何禁用特定链接器警告?

    我正在使用 CGAL 中的一个库 该库在代码编译的链接阶段会产生许多这种形式的链接警告 warning LNK4099 PDB vc80 pdb was not found with gmp vc80 mt sgd lib or at vc
  • 在android中放大图像视图时如何禁用抗锯齿?

    我有一幅像素艺术 我想放大它 问题是当我放大它时 它会因为抗锯齿而变得模糊 有没有办法直接从 xml 禁用抗锯齿功能 我希望它有用 Bitmap bmpSource BitmapFactory decodeResource getResou
  • 在 Android Studio 中运行应用程序时如何切换自动打开运行选项卡?

    有没有办法让 Android Studio 在运行应用程序时自动打开运行选项卡 解决办法是去Run gt Edit Configurations gt 选择 杂项 选项卡并检查Show logcat automatically
  • Subversion Server SSL 证书验证失败:以及其他原因

    我有一个 SVN 系统 运行得很好 但在最近升级后突然停止工作 我的设置 我有一个使用 VisualSVN Server 2 7 4 托管在 Windows 2008 服务器上的存储库 服务器使我能够随意生成自签名证书 根据需要输入我自己的
  • 从一个节点 A 到节点 B 的最大边权

    给定一个连通的无向图N节点 1 NN 1边缘 我们定义一个函数F a b where F a b 等于路径中的最大边权重a to b 我们如何找到总和F a b 对全部a b这样1 lt a b lt N 模 10 9 7 示例图 F a
  • SQL Server 2008 (R2) 的 CRUD SP 生成器

    我正在使用 SQL Server 2008 R2 是否有一个免费的脚本 实用程序可以为我的所有数据库表创建 CRUD SP 我以前有一份 但剧本丢了 Thanks I use SSMS 工具包 http www ssmstoolspack
  • C# 在运行时获取进程输出

    无论如何 是否可以重定向生成进程的标准输出并在发生时捕获它 我所看到的一切都只是在该过程完成后执行 ReadToEnd 我希望能够在打印时获得输出 Edit private void ConvertToMPEG Start the chil