private void doPack(DataReceivedEventArgs e) { if (e.Data != null) { PackStatus.Invoke(new updateText(update_packStatus), new object[] { e.Data.ToString() }); } }
private void Pack_DoWork(object sender, DoWorkEventArgs ed) { System.Diagnostics.Process PackProccess; PackProccess = new System.Diagnostics.Process(); PackProccess.StartInfo.UseShellExecute = false; PackProccess.StartInfo.RedirectStandardOutput = true; PackProccess.StartInfo.RedirectStandardInput = true; PackProccess.StartInfo.FileName = "cmd"; PackProccess.StartInfo.CreateNoWindow = true; PackProccess.OutputDataReceived += (s, e) => doPack(e); TogglePack(false); PackProccess.Start(); PackProccess.BeginOutputReadLine(); PackProccess.StandardInput.WriteLine("@.\\app\\node .\\app\\main.js pack \"" + UnPackedtxbx.Text + "\" \"" + CompressToTxtbx.Text + "\""); PackProccess.StandardInput.WriteLine("@exit"); PackProccess.StandardInput.Flush(); PackProccess.WaitForExit(); PackStatus.Invoke(new updateText(update_packStatus), new object[] { "Done" }); TogglePack(true); PackProccess.Close(); }