private void LoadAllProgramToList() { //清空进程imageList和ProcessView processImageList.Images.Clear(); ProcessView.Items.Clear(); foreach (int i in GlobalVariable.Started_PID) { ListViewItem lvi = new ListViewItem(); lvi.Text = Convert.ToString(i); //获取对应PID的启动目录 Process pro; string proPathName, proArgument; try { pro = Process.GetProcessById(i);//获得对应PID的进程 proPathName = pro.MainModule.FileName.ToString(); proArgument = ProcessExtensions.GetCommandLineArgs(pro); } catch { continue; } string[] args = CommandLineExtensions.ConvertCommandLineToArgs(proArgument); string sumArg = ""; for (int a = 1; a < args.Length; a++) { sumArg += args[a] + " "; } lvi.SubItems.Add(proPathName); lvi.SubItems.Add(sumArg); if (GlobalVariable.Hid_PID.Contains(i)) { lvi.SubItems.Add("隐藏"); } else { lvi.SubItems.Add("正常"); } processImageList.Images.Add(Convert.ToString(i), IconHelper.GetFileIcon(proPathName, true)); lvi.ImageIndex = processImageList.Images.Count - 1; //通过与imageList绑定,显示imageList中第i项图标 ProcessView.Items.Add(lvi); } //更新新的Started_PID表 GlobalVariable.Started_PID.Clear(); foreach (ListViewItem i in ProcessView.Items) { GlobalVariable.Started_PID.Add(Convert.ToInt32(i.Text)); } }
public void WriteHelp(OptionSet defaultSet) { Console.WriteLine(@"Usage:"); Console.WriteLine(@"Pretzel.exe command [options]"); Console.WriteLine(); defaultSet.WriteOptionDescriptions(Console.Out); Console.WriteLine(); foreach (var command in commandMap) { Console.WriteLine(@"Command: " + command.Key); command.Value.WriteHelp(Console.Out); var extraArgs = CommandLineExtensions.SelectMany(e => e.Value.GetArguments(command.Key)).ToArray(); if (extraArgs.Any()) { Parameters.Value.WriteOptions(Console.Out, extraArgs); } Console.WriteLine(); } }
private static void InteractiveMode(string input) { ReadLineConfiguration(); while (Environment.ExitCode != 1) { input = ReadLine.Read("BasicConsole>"); switch (input) { case "random": Console.WriteLine("We random"); break; default: var app = new CommandLineApplication <RootCommand>(); var command = CommandLineExtensions.SplitCommandLine(input); ArgumentExecutor(app, command.ToArray()); break; } } }
public void Run() { try { processSelectWindow.Invoke((EventHandler) delegate { //清空进程imageList和ProcessView processImageList.Images.Clear(); processView.Items.Clear(); loadProgressBar.Value = 0; statusLabel.Text = "正在加载进程列表……"; }); //获取所有进程 Process[] pro = Process.GetProcesses(); int max_count = pro.Count(); int progress = 0; processSelectWindow.Invoke((EventHandler) delegate { loadProgressBar.Maximum = max_count; }); foreach (Process item in pro) { progress += 1; ListViewItem lvi = new ListViewItem { Text = item.ProcessName }; //获取对应PID的启动目录 string proPathName, proArgument; proPathName = GetProcessFilename(item); proArgument = ProcessExtensions.GetCommandLineArgs(item); string[] args = CommandLineExtensions.ConvertCommandLineToArgs(proArgument); string sumArg = ""; for (int a = 1; a < args.Length; a++) { sumArg += args[a] + " "; } lvi.SubItems.Add(Convert.ToString(item.Id)); lvi.SubItems.Add(proPathName); lvi.SubItems.Add(sumArg); processSelectWindow.Invoke((EventHandler) delegate { processImageList.Images.Add(Convert.ToString(item.Id), IconHelper.GetFileIcon(proPathName, true)); lvi.ImageIndex = processImageList.Images.Count - 1; //通过与imageList绑定,显示imageList中第i项图标 processView.Items.Add(lvi); statusLabel.Text = $@"正在加载进程列表……({progress}/{max_count})"; loadProgressBar.Value = progress; }); } processSelectWindow.Invoke((EventHandler) delegate { statusLabel.Text = $@"进程列表加载完毕,共加载了{progress}个进程!"; }); } catch { } }
/* * truck CustomizationCameras --FOV:40 "D:\Games\SnowRunner_backs\mods\.staging\initial-pak\[media]\classes\trucks\ank_mk38.xml" */ public static int Main(string[] args) { var root = new RootCommand(typeof(Program).Assembly.GetCustomAttribute <AssemblyTitleAttribute> ().Title); root.AddLicenseOption(); var cmdTruck = new Command("truck", "Trucks configuration"); root.Add(cmdTruck); var cmdTruckCustomizationCameras = new Command("CustomizationCameras"); cmdTruckCustomizationCameras.AddOption(new Option <float?> ("--FOV")); cmdTruckCustomizationCameras.AddOption(new Option <float?> ("--MaxZoom")); var targetXmlWildcardsArgument = new Argument <IEnumerable <FileInfo> > ("targetXmls", CommandLineExtensions.ParseWildcards) { Description = "Truck XML file to modify (wildcards supported)" }.ExistingOrWildcardOnly(); cmdTruckCustomizationCameras.AddArgument(targetXmlWildcardsArgument); cmdTruckCustomizationCameras.Handler = CommandHandler.Create <IEnumerable <FileInfo>, float?, float?> (DoTruckCustomizationCameras); cmdTruck.Add(cmdTruckCustomizationCameras); var cmdTruckCraneSocket = new Command("CraneSocket"); cmdTruck.Add(cmdTruckCraneSocket); var cmdTruckCraneSocketAdd = new Command("add"); cmdTruckCraneSocket.Add(cmdTruckCraneSocketAdd); var cmdTruckCraneSocketAddTopCentral = new Command("top-central"); var targetXmlArgument = new Argument <FileInfo> ("targetXml").ExistingOnly(); cmdTruckCraneSocketAddTopCentral.AddArgument(targetXmlArgument); cmdTruckCraneSocketAddTopCentral.Handler = CommandHandler.Create <FileInfo> (DoTruckCraneSocketAddTopCentral); cmdTruckCraneSocketAdd.Add(cmdTruckCraneSocketAddTopCentral); var cmdTruckExtents = new Command("extents"); cmdTruckExtents.AddArgument(targetXmlArgument); cmdTruckExtents.Handler = CommandHandler.Create <FileInfo> (DoTruckExtents); cmdTruck.Add(cmdTruckExtents); var cmdExtras = new Command("extras", "Extra configuration"); root.Add(cmdExtras); var cmdExtrasRename = new Command("rename", "Rename game objects"); cmdExtras.Add(cmdExtrasRename); var cmdExtrasRenameTires = new Command("tires", "Rename tires"); var languageOption = new Option <GameLanguage> ("--language") { Required = true }; cmdExtrasRenameTires.AddOption(languageOption); var directoryArgument = new Argument <DirectoryInfo> ("directory", "Path to the directory with mixed contents of initial.pak and initial.pak\\initial.cache_block").ExistingOnly(); cmdExtrasRenameTires.AddArgument(directoryArgument); cmdExtrasRenameTires.Handler = CommandHandler.Create <DirectoryInfo, GameLanguage> (ExtrasRenamer.RenameTires); cmdExtrasRename.Add(cmdExtrasRenameTires); var cmdExtrasRenameTrucks = new Command("trucks", "Rename trucks"); cmdExtrasRenameTrucks.AddOption(languageOption); cmdExtrasRenameTrucks.AddArgument(directoryArgument); cmdExtrasRenameTrucks.Handler = CommandHandler.Create <DirectoryInfo, GameLanguage> (ExtrasRenamer.RenameTrucks); cmdExtrasRename.Add(cmdExtrasRenameTrucks); var cmdExtrasRenameEngines = new Command("engines", "Rename engines"); cmdExtrasRenameEngines.AddOption(languageOption); cmdExtrasRenameEngines.AddArgument(directoryArgument); cmdExtrasRenameEngines.Handler = CommandHandler.Create <DirectoryInfo, GameLanguage> (ExtrasRenamer.RenameEngines); cmdExtrasRename.Add(cmdExtrasRenameEngines); return(root.InvokeWithMiddleware(args, CommandLineExtensions.MakePrintLicenseResourceMiddleware(typeof(Program)))); }