private void Process_ErrorDataReceived(object sender, DataReceivedEventArgs e) { if (e.Data != null) { Status = PXTaskStatus.Error; } }
void PrintDoc() { Process process = new Process(); process.StartInfo.UseShellExecute = false; process.StartInfo.CreateNoWindow = true; //process.StartInfo.StandardOutputEncoding = Encoding.UTF8; //process.StartInfo.StandardErrorEncoding = Encoding.UTF8; //process.StartInfo.StandardInputEncoding = Encoding.UTF8; process.StartInfo.RedirectStandardInput = true; process.StartInfo.RedirectStandardOutput = true; process.StartInfo.RedirectStandardError = true; //process.StartInfo.FileName = GetPlatformCmd("cmd"); process.StartInfo.FileName = "you-get"; process.StartInfo.Arguments = @$ "--output-dir {AddQuotesIfRequired(context.WorkingDictory.FullName)} --output-filename test {context.Url}"; //process.StartInfo.WorkingDirectory = ""; process.OutputDataReceived += Process_OutputDataReceived; process.ErrorDataReceived += Process_ErrorDataReceived; try { process.Start(); process.BeginOutputReadLine(); process.BeginErrorReadLine(); string temp = @"--output-dir C:\ --output-filename test "; string name = @" https://www.bilibili.com/video/av28038890"; process.StandardInput.AutoFlush = true; //process.StandardInput.WriteLine(@"sssss"); //process.StandardInput.WriteLine(GetPlatformCmd("exit")); int milliseconds = context.Timeout.HasValue ? (int)context.Timeout.Value.TotalMilliseconds : 5000000; process.WaitForExit(milliseconds); process.Close(); if (Status != PXTaskStatus.Error) { Status = PXTaskStatus.Finished; } } catch { Status = PXTaskStatus.Error; } }
public void Run() { Status = PXTaskStatus.Running; PrintDoc(); }