From d56f0a0d1a050b4c84a0bb058ac2d62283b25849 Mon Sep 17 00:00:00 2001 From: Jack251970 <1160210343@qq.com> Date: Fri, 13 Jun 2025 14:13:52 +0800 Subject: [PATCH] Improve process information handler --- Flow.Launcher.Command/Program.cs | 35 ++++++++++++++++++---- Plugins/Flow.Launcher.Plugin.Shell/Main.cs | 2 +- 2 files changed, 31 insertions(+), 6 deletions(-) diff --git a/Flow.Launcher.Command/Program.cs b/Flow.Launcher.Command/Program.cs index 0dabbc5e6..53529007d 100644 --- a/Flow.Launcher.Command/Program.cs +++ b/Flow.Launcher.Command/Program.cs @@ -71,18 +71,43 @@ internal static class Program try { - using var process = new Process + ProcessStartInfo info; + if (argumentList.Count == 0) { - StartInfo = new ProcessStartInfo + info = new ProcessStartInfo { FileName = fileName, WorkingDirectory = workingDirectory, - Arguments = string.Join(" ", argumentList), UseShellExecute = useShellExecute, Verb = verb + }; + } + else if (argumentList.Count == 1) + { + info = new ProcessStartInfo + { + FileName = fileName, + WorkingDirectory = workingDirectory, + Arguments = argumentList[0], + UseShellExecute = useShellExecute, + Verb = verb + }; + } + else + { + info = new ProcessStartInfo + { + FileName = fileName, + WorkingDirectory = workingDirectory, + UseShellExecute = useShellExecute, + Verb = verb + }; + foreach (var arg in argumentList) + { + info.ArgumentList.Add(arg); } - }; - process.Start(); + } + Process.Start(info)?.Dispose(); Console.WriteLine("Success."); return 0; } diff --git a/Plugins/Flow.Launcher.Plugin.Shell/Main.cs b/Plugins/Flow.Launcher.Plugin.Shell/Main.cs index 77e092b6a..715b74bbe 100644 --- a/Plugins/Flow.Launcher.Plugin.Shell/Main.cs +++ b/Plugins/Flow.Launcher.Plugin.Shell/Main.cs @@ -389,7 +389,7 @@ namespace Flow.Launcher.Plugin.Shell return true; } - private void OnWinRPressed() + private static void OnWinRPressed() { Context.API.ShowMainWindow(); // show the main window and set focus to the query box