public static void ExecuteCommand(string Command, ISynchronizeInvoke isi, bool wait) { string cmdText = Command; if (DisplayFilter != null) { cmdText = DisplayFilter(cmdText); } Trace.WriteLine("executing command: " + cmdText); ProcessCaller processCaller; processCaller = new ProcessCaller(isi); processCaller.FileName = @"cmd.exe"; processCaller.Arguments = "/C " + Command; processCaller.StdOutReceived += processCaller_StdOutReceived; processCaller.StdErrReceived += processCaller_StdOutReceived; processCaller.Start(); if (wait) { processCaller.WaitUntilDone(); } }