Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [DllImport("User32")]
- private static extern int ShowWindow(int hwnd, int nCmdShow); //this will allow me to hide a window
- public ConsoleForm(Process p) {
- this.p = p;
- p.Start();
- ShowWindow((int)p.MainWindowHandle, 0); //0 means to hide the window. See User32.ShowWindow documentation SW_HIDE
- this.inStream = p.StandardInput;
- this.outStream = p.StandardOutput;
- this.errorStream = p.StandardError;
- InitializeComponent();
- wr = new watcherReader(watchProc);
- wr.BeginInvoke(this.outStream, this.txtOut, null, null);
- wr.BeginInvoke(this.errorStream, this.txtOut2, null, null);
- }
- private delegate void watcherReader(StreamReader sr, RichTextBox rtb);
- private void watchProc(StreamReader sr, RichTextBox rtb) {
- string line = sr.ReadLine();
- while (line != null && !stop && !p.WaitForExit(0)) {
- //Console.WriteLine(line);
- line = stripColors(line);
- rtb.Text += line + "n";
- line = sr.ReadLine();
- }
- }
- public void start(string[] folders, string serverPath) {
- this.inStream.WriteLine("chdir C:\cygwin\bin");
- //this.inStream.WriteLine("bash --login -i");
- this.inStream.WriteLine("");
- }
- private void ConsoleForm_FormClosed(object sender, FormClosedEventArgs e) {
- this.stop = true;
- try {
- this.p.Kill();
- this.p.CloseMainWindow();
- } catch (InvalidOperationException) {
- return;
- }
- }
- public ConsoleForm(Process p) {
- this.p = p;
- p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
- p.StartInfo.CreateNoWindow = true;
- p.Start();
- this.inStream = p.StandardInput;
- this.outStream = p.StandardOutput;
- this.errorStream = p.StandardError;
- InitializeComponent();
- wr = new watcherReader(watchProc);
- wr.BeginInvoke(this.outStream, this.txtOut, null, null);
- wr.BeginInvoke(this.errorStream, this.txtOut2, null, null);
- }
Add Comment
Please, Sign In to add comment