From 1b51a461dce886902e375ed233061344b38b0e17 Mon Sep 17 00:00:00 2001 From: Vic <10308169+VictoriousRaptor@users.noreply.github.com> Date: Mon, 21 Nov 2022 18:05:35 +0800 Subject: [PATCH] Use path of lnk to execute program --- .../Flow.Launcher.Plugin.Program/Programs/Win32.cs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs index 8ba40b881..cbf9d27ab 100644 --- a/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs +++ b/Plugins/Flow.Launcher.Plugin.Program/Programs/Win32.cs @@ -37,7 +37,6 @@ namespace Flow.Launcher.Plugin.Program.Programs /// Path of the actual executable file. /// public string ExecutablePath => LnkResolvedPath ?? FullPath; - public string WorkingDir => Directory.GetParent(ExecutablePath)?.FullName ?? string.Empty; public string ParentDirectory { get; set; } public string ExecutableName { get; set; } public string Description { get; set; } @@ -140,8 +139,8 @@ namespace Flow.Launcher.Plugin.Program.Programs var info = new ProcessStartInfo { - FileName = ExecutablePath, - WorkingDirectory = WorkingDir, + FileName = FullPath, + WorkingDirectory = ParentDirectory, UseShellExecute = true, Verb = runAsAdmin ? "runas" : null }; @@ -167,8 +166,8 @@ namespace Flow.Launcher.Plugin.Program.Programs { var info = new ProcessStartInfo { - FileName = ExecutablePath, - WorkingDirectory = WorkingDir, + FileName = FullPath, + WorkingDirectory = ParentDirectory, UseShellExecute = true }; @@ -187,7 +186,7 @@ namespace Flow.Launcher.Plugin.Program.Programs var info = new ProcessStartInfo { FileName = ExecutablePath, - WorkingDirectory = WorkingDir, + WorkingDirectory = ParentDirectory, Verb = "runas", UseShellExecute = true }; @@ -573,6 +572,7 @@ namespace Flow.Launcher.Plugin.Program.Programs private static IEnumerable ProgramsHasher(IEnumerable programs) { + // TODO: Unable to distinguish multiple lnks to the same excutable but with different params return programs.GroupBy(p => p.ExecutablePath.ToLowerInvariant()) .AsParallel() .SelectMany(g =>