mirror of
https://github.com/Flow-Launcher/Flow.Launcher.git
synced 2026-03-11 08:54:32 +00:00
Merge pull request #1563 from VictoriousRaptor/ProgramIndexPATH
Distinguish .lnks by arguments
This commit is contained in:
commit
ced7fb02a3
2 changed files with 16 additions and 7 deletions
|
|
@ -97,8 +97,8 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
||||||
}
|
}
|
||||||
|
|
||||||
// To initialize the app description
|
// To initialize the app description
|
||||||
public String description = String.Empty;
|
public string description = string.Empty;
|
||||||
|
public string arguments = string.Empty;
|
||||||
|
|
||||||
// Retrieve the target path using Shell Link
|
// Retrieve the target path using Shell Link
|
||||||
public string retrieveTargetPath(string path)
|
public string retrieveTargetPath(string path)
|
||||||
|
|
@ -122,13 +122,16 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
||||||
buffer = new StringBuilder(MAX_PATH);
|
buffer = new StringBuilder(MAX_PATH);
|
||||||
((IShellLinkW)link).GetDescription(buffer, MAX_PATH);
|
((IShellLinkW)link).GetDescription(buffer, MAX_PATH);
|
||||||
description = buffer.ToString();
|
description = buffer.ToString();
|
||||||
|
|
||||||
|
buffer.Clear();
|
||||||
|
((IShellLinkW)link).GetArguments(buffer, MAX_PATH);
|
||||||
|
arguments = buffer.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
// To release unmanaged memory
|
// To release unmanaged memory
|
||||||
Marshal.ReleaseComObject(link);
|
Marshal.ReleaseComObject(link);
|
||||||
|
|
||||||
return target;
|
return target;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -26,11 +26,11 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
||||||
public string UniqueIdentifier { get => _uid; set => _uid = value == null ? string.Empty : value.ToLowerInvariant(); } // For path comparison
|
public string UniqueIdentifier { get => _uid; set => _uid = value == null ? string.Empty : value.ToLowerInvariant(); } // For path comparison
|
||||||
public string IcoPath { get; set; }
|
public string IcoPath { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Path of the file. It's the path of .lnk or .url for .lnk and .url.
|
/// Path of the file. It's the path of .lnk and .url for .lnk and .url files.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string FullPath { get; set; }
|
public string FullPath { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Path of the excutable for .lnk, or the URL for .url.
|
/// Path of the excutable for .lnk, or the URL for .url. Arguments are included if any.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string LnkResolvedPath { get; set; }
|
public string LnkResolvedPath { get; set; }
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
@ -185,7 +185,7 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
||||||
{
|
{
|
||||||
var info = new ProcessStartInfo
|
var info = new ProcessStartInfo
|
||||||
{
|
{
|
||||||
FileName = ExecutablePath,
|
FileName = FullPath,
|
||||||
WorkingDirectory = ParentDirectory,
|
WorkingDirectory = ParentDirectory,
|
||||||
Verb = "runas",
|
Verb = "runas",
|
||||||
UseShellExecute = true
|
UseShellExecute = true
|
||||||
|
|
@ -275,6 +275,12 @@ namespace Flow.Launcher.Plugin.Program.Programs
|
||||||
program.LnkResolvedPath = Path.GetFullPath(target);
|
program.LnkResolvedPath = Path.GetFullPath(target);
|
||||||
program.ExecutableName = Path.GetFileName(target);
|
program.ExecutableName = Path.GetFileName(target);
|
||||||
|
|
||||||
|
var args = _helper.arguments;
|
||||||
|
if(!string.IsNullOrEmpty(args))
|
||||||
|
{
|
||||||
|
program.LnkResolvedPath += " " + args;
|
||||||
|
}
|
||||||
|
|
||||||
var description = _helper.description;
|
var description = _helper.description;
|
||||||
if (!string.IsNullOrEmpty(description))
|
if (!string.IsNullOrEmpty(description))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue