using System;
namespace ConsoleAppNET5.TestVideoZhuanMa
{
class Program
{
static void Main(string[] args)
{
var process = new System.Diagnostics.Process();
//应该触发退出事件
process.EnableRaisingEvents = true;
//程序退出事件
process.Exited += (s, e) =>
{
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "程序退出");
};
//程序输出消息事件
process.OutputDataReceived += (o, e) =>
{
if (string.IsNullOrWhiteSpace(e?.Data))
{
return;
}
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + "程序执行消息:" + e.Data);
};
var startInfo = new System.Diagnostics.ProcessStartInfo("ping", "www.qq.com");
//var startInfo = new System.Diagnostics.ProcessStartInfo("ffmpeg", " -i /video_list/IMG_0837.MOV -vcodec h264 /video_list/IMG_0837_10B.mp4");
//startInfo.ErrorDialog = true;
//startInfo.UseShellExecute = false;
startInfo.RedirectStandardError = true;
startInfo.RedirectStandardOutput = true;
process.StartInfo = startInfo;
process.Start();
process.BeginOutputReadLine();
// System.Diagnostics.Process.Start("ffmpeg", " -i /video_list/IMG_0837.MOV -vcodec h264 /video_list/IMG_0837_10A.mp4");
process.WaitForExit();
// process.WaitForExitAsync();
}
}
}
效果图:
2021-04-15 15:31:53程序执行消息:正在 Ping ins-r23tsuuf.ias.tencent-cloud.net [121.14.77.201] 具有 32 字节的数据:
2021-04-15 15:31:57程序执行消息:请求超时。
2021-04-15 15:31:58程序执行消息:来自 121.14.77.201 的回复: 字节=32 时间=33ms TTL=53
2021-04-15 15:31:59程序执行消息:来自 121.14.77.201 的回复: 字节=32 时间=35ms TTL=53
2021-04-15 15:32:00程序执行消息:来自 121.14.77.201 的回复: 字节=32 时间=34ms TTL=53
2021-04-15 15:32:00程序执行消息:121.14.77.201 的 Ping 统计信息:
2021-04-15 15:32:00程序执行消息: 数据包: 已发送 = 4,已接收 = 3,丢失 = 1 (25% 丢失),
2021-04-15 15:32:00程序执行消息:往返行程的估计时间(以毫秒为单位):
2021-04-15 15:32:00程序执行消息: 最短 = 33ms,最长 = 35ms,平均 = 34ms
2021-04-15 15:32:00程序退出