private static void Main(string[] args) { //root if (args.Length == 0) { RedirectProcess.StartGrab("PA.exe", Console.WriteLine, "1"); while (true) { Console.WriteLine("Root, ID: {0},- Hello", Process.GetCurrentProcess().Id); Thread.Sleep(1000); } } //child var count = int.Parse(args[0]); if (count < 3) //maximum of 3 nested child process { RedirectProcess.StartRedirected("PA.exe", (count + 1).ToString()); } while (true) { Console.WriteLine("Child,Level: {0}, ID: {1},- Hello", count, Process.GetCurrentProcess().Id); Thread.Sleep(1000); } }
static void Main(string[] args) { RedirectProcess.StartRedirected("PC.exe"); while (true) { Console.WriteLine("Process B, ID: {0},- Hello", Process.GetCurrentProcess().Id); Thread.Sleep(1000); } }
private static void Main(string[] args) { RedirectProcess.StartGrab("PB.exe", Console.WriteLine); while (true) { Console.WriteLine("Process A, ID: {0},- Hello", Process.GetCurrentProcess().Id); Thread.Sleep(1000); } }
private static void Main(string[] args) { var server = new RediretServer(); server.ProcessDataReceived += (s, e) => Console.WriteLine("pid:{0}, data:{1}", e.Id, e.Data); RedirectProcess.StartGrab("PB.exe", Console.WriteLine); while (true) { Console.WriteLine("Process A, ID: {0},- Hello", Process.GetCurrentProcess().Id); Thread.Sleep(1000); } }
private static void Main(string[] args) { Console.WriteLine("**Process Redirector for PC**"); var client = new RedirectClient(); var interceptArgs = args .Aggregate(string.Empty, (current, a) => current + (string.Format("\"{0}\"", a))); var process = RedirectProcess.StartGrab("PC-real.exe", s => { Console.WriteLine(s); client.Send(s); }, interceptArgs); client.Id = process.Id; process.WaitForExit(); client.Dispose(); }