protected override Task OnExecute(ProgressMonitor monitor, ExecutionContext context, ConfigurationSelector configuration) { return(Task.Factory.StartNew(async() => { ExternalConsole console = context.ExternalConsoleFactory.CreateConsole(false, monitor.CancellationToken); string targetName = ""; foreach (var target in fileFormat.Targets.Values) { if (target.Type == CMakeTarget.Types.Binary) { targetName = target.Name; break; } } if (string.IsNullOrEmpty(targetName)) { monitor.ReportError("Can't find an executable target."); return; } FilePath f = BaseDirectory.Combine(outputDirectory); NativeExecutionCommand cmd; if (File.Exists(f.Combine(targetName))) { cmd = new NativeExecutionCommand(f.Combine(targetName)); } else if (File.Exists(f.Combine(string.Format("{0}.{1}", targetName, "exe")))) { cmd = new NativeExecutionCommand(f.Combine(string.Format("{0}.{1}", targetName, "exe"))); } else if (File.Exists(f.Combine("./Debug", targetName))) { cmd = new NativeExecutionCommand(f.Combine("./Debug", targetName)); } else if (File.Exists(f.Combine("./Debug", string.Format("{0}.{1}", targetName, "exe")))) { cmd = new NativeExecutionCommand(f.Combine("./Debug", string.Format("{0}.{1}", targetName, "exe"))); } else { monitor.ReportError("Can't determine executable path."); return; } try { var handler = Runtime.ProcessService.GetDefaultExecutionHandler(cmd); var op = handler.Execute(cmd, console); using (var t = monitor.CancellationToken.Register(op.Cancel)) await op.Task; monitor.Log.WriteLine("The operation exited with code: {0}", op.ExitCode); } catch (Exception ex) { monitor.ReportError("Can't execute the target.", ex); } finally { console.Dispose(); } })); }
private static void OnProcessExit(object sender, EventArgs e) { Logger.Log("Exiting..."); Logger.Trace(config.ToJson()); Config.Save(config); ExternalConsole.Dispose(); Application.Exit(); System.Diagnostics.Process.GetCurrentProcess().Kill(); }
static void OnProcessExit(object sender, EventArgs e) { Logger.Log("Exiting..."); // LogReader.Dispose(); // IPC.Launcher.Dispose(); ExternalConsole.Dispose(); Application.Exit(); Process.GetCurrentProcess().Kill(); }
private void cbox_DOFenable_CheckedChanged(object sender, EventArgs e) { if (cbox_DOFenable.Checked) { ExternalConsole.Send("r_Dof_Tweak 1;r_Dof_Bias 1;r_Dof_Enable 1;"); } else { ExternalConsole.Send("r_Dof_Tweak 0;r_Dof_Bias 0;r_Dof_Enable 0;"); } }
private static void Main(string[] args) { AppDomain.CurrentDomain.ProcessExit += new EventHandler(OnProcessExit); Logger.Debug("Current Date and Time: {0} (UTC: {1})", DateTime.Now, DateTime.UtcNow); var assembly = System.Reflection.Assembly.GetEntryAssembly().GetName(); Logger.Debug("{0} v{1} ({2}) with args: {3}", assembly.Name, assembly.Version, assembly.ProcessorArchitecture, string.Join(" ", args)); Parser.Default.ParseArguments <Options>(args).WithParsed(o => Arguments = o).WithNotParsed(o => Logger.Error("Unable to parse arguments: {0}", o.First().Tag)); Logger.Trace("Parsed arguments: {}", Arguments.ToJson()); if (Arguments.ConsoleEnabled) { ExternalConsole.InitConsole(); } Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); mainWindow = new Main(); Application.Run(mainWindow); Logger.Debug("Ended"); OnProcessExit(false, new EventArgs()); }
/// <summary> /// Send the configs to your call of duty game /// </summary> /// <param name="dvars"></param> private void SendDvarToGame(string dvars) { // int test = dvars.Count(); ExternalConsole.Send($"{dvars};"); }