mirror of
https://github.com/microsoft/PowerToys.git
synced 2026-02-23 19:49:43 +01:00
fix duplicate apps
This commit is contained in:
@@ -40,7 +40,7 @@ public static class AppxPackageHelper
|
||||
IAppxManifestApplication* manifestApp;
|
||||
manifestApps->GetCurrent(&manifestApp);
|
||||
|
||||
var hr = manifestApp->GetStringValue("AppListEntry", out var appListEntryPtr).ThrowOnFailure();
|
||||
var hr = manifestApp->GetStringValue("AppListEntry", out var appListEntryPtr);
|
||||
var appListEntry = ComFreeHelper.GetStringAndFree(hr, appListEntryPtr);
|
||||
|
||||
if (appListEntry != "none")
|
||||
|
||||
@@ -55,30 +55,23 @@ public class ShellLinkHelper : IShellLinkHelper
|
||||
const uint SLR_NO_UI = 0x1;
|
||||
link->Resolve(hwnd, SLR_NO_UI);
|
||||
|
||||
PWSTR pBuffer = null;
|
||||
var hr = link->GetPath(pBuffer, MAX_PATH, null, 0x1);
|
||||
var buffer = stackalloc char[MAX_PATH];
|
||||
|
||||
target = ComFreeHelper.GetStringAndFree(hr, pBuffer);
|
||||
var hr = link->GetPath((PWSTR)buffer, MAX_PATH, null, 0x1);
|
||||
|
||||
target = hr.Succeeded ? new string(buffer) : string.Empty;
|
||||
|
||||
// To set the app description
|
||||
if (!string.IsNullOrEmpty(target))
|
||||
{
|
||||
PWSTR pszName = null;
|
||||
try
|
||||
{
|
||||
var desHr = link->GetDescription(pszName, MAX_PATH).ThrowOnFailure();
|
||||
Description = Description = ComFreeHelper.GetStringAndFree(desHr, pszName);
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
// Log.Exception($"Failed to fetch description for {target}, {e.Message}", e, GetType());
|
||||
Description = string.Empty;
|
||||
}
|
||||
var descBuffer = stackalloc char[MAX_PATH];
|
||||
var desHr = link->GetDescription(descBuffer, MAX_PATH);
|
||||
Description = desHr.Succeeded ? new string(descBuffer) : string.Empty;
|
||||
|
||||
PWSTR pszArgs = null;
|
||||
var argHr = link->GetArguments(pszArgs, MAX_PATH);
|
||||
var argsBuffer = stackalloc char[MAX_PATH];
|
||||
var argHr = link->GetArguments(argsBuffer, MAX_PATH);
|
||||
|
||||
Arguments = ComFreeHelper.GetStringAndFree(argHr, pszArgs);
|
||||
Arguments = argHr.Succeeded ? new string(argsBuffer) : string.Empty;
|
||||
|
||||
// Set variable to true if the program takes in any arguments
|
||||
if (Arguments.Length != 0)
|
||||
|
||||
Reference in New Issue
Block a user