private void doUnpack(DataReceivedEventArgs e) { if (e.Data != null) { UnpackStatus.Invoke(new updateText(update_unpackStatus), new object[] { e.Data.ToString() }); } }
private void Unpack_DoWork(object sender, DoWorkEventArgs de) { System.Diagnostics.Process UnpackProcess; UnpackProcess = new System.Diagnostics.Process(); UnpackProcess.StartInfo.UseShellExecute = false; UnpackProcess.StartInfo.RedirectStandardOutput = true; UnpackProcess.StartInfo.RedirectStandardInput = true; UnpackProcess.StartInfo.FileName = "cmd"; UnpackProcess.StartInfo.CreateNoWindow = true; UnpackProcess.OutputDataReceived += (s, e) => doUnpack(e); ToggleUnpack(false); UnpackProcess.Start(); UnpackProcess.BeginOutputReadLine(); UnpackProcess.StandardInput.WriteLine("@.\\app\\node .\\app\\main.js extract \"" + FolderXNBTbx.Text + "\" \"" + ExtractFolderTxb.Text + "\""); UnpackProcess.StandardInput.WriteLine("@exit"); UnpackProcess.StandardInput.Flush(); UnpackProcess.WaitForExit(); UnpackStatus.Invoke(new updateText(update_unpackStatus), new object[] { "Done" }); ToggleUnpack(true); UnpackProcess.Close(); }