From ea9c0b919f7acfa58a97e485abc3544fe724653b Mon Sep 17 00:00:00 2001 From: Alekhya Date: Wed, 13 May 2020 11:43:56 -0700 Subject: [PATCH] Remove Program Plugin dll (ShObjldITIb.dll) (#2952) * Deleted the dll * Added Shell Link helper class * Add activation manager helper * Use helper shell link and remove shell namespace * removed using shell and added Activation helper namespace * Removed the dll from the installer * formatting * nit formatting --- installer/PowerToysSetup/Product.wxs | 2 +- .../Programs/ApplicationActivationHelper.cs | 44 ++++++ .../Programs/ShellLinkHelper.cs | 132 ++++++++++++++++++ .../Microsoft.Plugin.Program/Programs/UWP.cs | 5 +- .../Programs/Win32.cs | 24 +--- .../Microsoft.Plugin.Program/ShObjIdlTlb.dll | Bin 144896 -> 0 bytes 6 files changed, 186 insertions(+), 21 deletions(-) create mode 100644 src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/ApplicationActivationHelper.cs create mode 100644 src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/ShellLinkHelper.cs delete mode 100644 src/modules/launcher/Plugins/Microsoft.Plugin.Program/ShObjIdlTlb.dll diff --git a/installer/PowerToysSetup/Product.wxs b/installer/PowerToysSetup/Product.wxs index a8bea2d5b6..868acfbf10 100644 --- a/installer/PowerToysSetup/Product.wxs +++ b/installer/PowerToysSetup/Product.wxs @@ -840,7 +840,7 @@ - + diff --git a/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/ApplicationActivationHelper.cs b/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/ApplicationActivationHelper.cs new file mode 100644 index 0000000000..989995f31b --- /dev/null +++ b/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/ApplicationActivationHelper.cs @@ -0,0 +1,44 @@ +using System; +using System.Diagnostics; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Text.RegularExpressions; + +namespace Microsoft.Plugin.Program.Programs +{ + public class ApplicationActivationHelper + { + // Reference : https://github.com/MicrosoftEdge/edge-launcher/blob/108e63df0b4cb5cd9d5e45aa7a264690851ec51d/MIcrosoftEdgeLauncherCsharp/Program.cs + public enum ActivateOptions + { + None = 0x00000000, + DesignMode = 0x00000001, + NoErrorUI = 0x00000002, + NoSplashScreen = 0x00000004, + } + + /// ApplicationActivationManager + [ComImport, Guid("2e941141-7f97-4756-ba1d-9decde894a3d"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] + interface IApplicationActivationManager + { + IntPtr ActivateApplication([In] String appUserModelId, [In] String arguments, [In] ActivateOptions options, [Out] out UInt32 processId); + IntPtr ActivateForFile([In] String appUserModelId, [In] IntPtr /*IShellItemArray* */ itemArray, [In] String verb, [Out] out UInt32 processId); + IntPtr ActivateForProtocol([In] String appUserModelId, [In] IntPtr /* IShellItemArray* */itemArray, [Out] out UInt32 processId); + } + + // Application Activation Manager Class + [ComImport, Guid("45BA127D-10A8-46EA-8AB7-56EA9078943C")] + public class ApplicationActivationManager : IApplicationActivationManager + { + + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)/*, PreserveSig*/] + public extern IntPtr ActivateApplication([In] String appUserModelId, [In] String arguments, [In] ActivateOptions options, [Out] out UInt32 processId); + + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + public extern IntPtr ActivateForFile([In] String appUserModelId, [In] IntPtr /*IShellItemArray* */ itemArray, [In] String verb, [Out] out UInt32 processId); + + [MethodImpl(MethodImplOptions.InternalCall, MethodCodeType = MethodCodeType.Runtime)] + public extern IntPtr ActivateForProtocol([In] String appUserModelId, [In] IntPtr /* IShellItemArray* */itemArray, [Out] out UInt32 processId); + } + } +} diff --git a/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/ShellLinkHelper.cs b/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/ShellLinkHelper.cs new file mode 100644 index 0000000000..49977393a5 --- /dev/null +++ b/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/ShellLinkHelper.cs @@ -0,0 +1,132 @@ +using System; +using System.Collections.Generic; +using System.Text; +using System.Runtime.InteropServices; +using System.IO; +using Accessibility; +using System.Runtime.InteropServices.ComTypes; +using System.Security.Policy; + +namespace Microsoft.Plugin.Program.Programs +{ + class ShellLinkHelper + { + [Flags()] + public enum SLGP_FLAGS + { + SLGP_SHORTPATH = 0x1, + SLGP_UNCPRIORITY = 0x2, + SLGP_RAWPATH = 0x4 + } + + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto)] + public struct WIN32_FIND_DATAW + { + public uint dwFileAttributes; + public long ftCreationTime; + public long ftLastAccessTime; + public long ftLastWriteTime; + public uint nFileSizeHigh; + public uint nFileSizeLow; + public uint dwReserved0; + public uint dwReserved1; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)] + public string cFileName; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 14)] + public string cAlternateFileName; + } + + [Flags()] + public enum SLR_FLAGS + { + SLR_NO_UI = 0x1, + SLR_ANY_MATCH = 0x2, + SLR_UPDATE = 0x4, + SLR_NOUPDATE = 0x8, + SLR_NOSEARCH = 0x10, + SLR_NOTRACK = 0x20, + SLR_NOLINKINFO = 0x40, + SLR_INVOKE_MSI = 0x80 + } + + + // Reference : http://www.pinvoke.net/default.aspx/Interfaces.IShellLinkW + /// The IShellLink interface allows Shell links to be created, modified, and resolved + [ComImport(), InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("000214F9-0000-0000-C000-000000000046")] + interface IShellLinkW + { + /// Retrieves the path and file name of a Shell link object + void GetPath([Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszFile, int cchMaxPath, ref WIN32_FIND_DATAW pfd, SLGP_FLAGS fFlags); + /// Retrieves the list of item identifiers for a Shell link object + void GetIDList(out IntPtr ppidl); + /// Sets the pointer to an item identifier list (PIDL) for a Shell link object. + void SetIDList(IntPtr pidl); + /// Retrieves the description string for a Shell link object + void GetDescription([Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszName, int cchMaxName); + /// Sets the description for a Shell link object. The description can be any application-defined string + void SetDescription([MarshalAs(UnmanagedType.LPWStr)] string pszName); + /// Retrieves the name of the working directory for a Shell link object + void GetWorkingDirectory([Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszDir, int cchMaxPath); + /// Sets the name of the working directory for a Shell link object + void SetWorkingDirectory([MarshalAs(UnmanagedType.LPWStr)] string pszDir); + /// Retrieves the command-line arguments associated with a Shell link object + void GetArguments([Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszArgs, int cchMaxPath); + /// Sets the command-line arguments for a Shell link object + void SetArguments([MarshalAs(UnmanagedType.LPWStr)] string pszArgs); + /// Retrieves the hot key for a Shell link object + void GetHotkey(out short pwHotkey); + /// Sets a hot key for a Shell link object + void SetHotkey(short wHotkey); + /// Retrieves the show command for a Shell link object + void GetShowCmd(out int piShowCmd); + /// Sets the show command for a Shell link object. The show command sets the initial show state of the window. + void SetShowCmd(int iShowCmd); + /// Retrieves the location (path and index) of the icon for a Shell link object + void GetIconLocation([Out(), MarshalAs(UnmanagedType.LPWStr)] StringBuilder pszIconPath, + int cchIconPath, out int piIcon); + /// Sets the location (path and index) of the icon for a Shell link object + void SetIconLocation([MarshalAs(UnmanagedType.LPWStr)] string pszIconPath, int iIcon); + /// Sets the relative path to the Shell link object + void SetRelativePath([MarshalAs(UnmanagedType.LPWStr)] string pszPathRel, int dwReserved); + /// Attempts to find the target of a Shell link, even if it has been moved or renamed + void Resolve(ref Accessibility._RemotableHandle hwnd, SLR_FLAGS fFlags); + /// Sets the path and file name of a Shell link object + void SetPath([MarshalAs(UnmanagedType.LPWStr)] string pszFile); + } + + [ComImport(), Guid("00021401-0000-0000-C000-000000000046")] + public class ShellLink + { + } + + // To initialize the app description + public String description = String.Empty; + + + // Retrieve the target path using Shell Link + public string retrieveTargetPath(string path) + { + var link = new ShellLink(); + const int STGM_READ = 0; + ((IPersistFile)link).Load(path, STGM_READ); + var hwnd = new _RemotableHandle(); + ((IShellLinkW)link).Resolve(ref hwnd, 0); + + const int MAX_PATH = 260; + StringBuilder buffer = new StringBuilder(MAX_PATH); + + var data = new WIN32_FIND_DATAW(); + ((IShellLinkW)link).GetPath(buffer, buffer.Capacity, ref data, SLGP_FLAGS.SLGP_SHORTPATH); + var target = buffer.ToString(); + + // To set the app description + if (!String.IsNullOrEmpty(target)) + { + buffer = new StringBuilder(MAX_PATH); + ((IShellLinkW)link).GetDescription(buffer, MAX_PATH); + description = buffer.ToString(); + } + return target; + } + } +} \ No newline at end of file diff --git a/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/UWP.cs b/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/UWP.cs index 19ec8d85a5..58571f695e 100644 --- a/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/UWP.cs +++ b/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/UWP.cs @@ -11,7 +11,6 @@ using System.Xml.Linq; using Windows.ApplicationModel; using Windows.Management.Deployment; using AppxPackaing; -using Shell; using Wox.Infrastructure; using Microsoft.Plugin.Program.Logger; using IStream = AppxPackaing.IStream; @@ -364,10 +363,10 @@ namespace Microsoft.Plugin.Program.Programs private async void Launch(IPublicAPI api) { - var appManager = new ApplicationActivationManager(); + var appManager = new ApplicationActivationHelper.ApplicationActivationManager(); uint unusedPid; const string noArgs = ""; - const ACTIVATEOPTIONS noFlags = ACTIVATEOPTIONS.AO_NONE; + const ApplicationActivationHelper.ActivateOptions noFlags = ApplicationActivationHelper.ActivateOptions.None; await Task.Run(() => { try diff --git a/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/Win32.cs b/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/Win32.cs index 1a746cb49d..cf9405def0 100644 --- a/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/Win32.cs +++ b/src/modules/launcher/Plugins/Microsoft.Plugin.Program/Programs/Win32.cs @@ -8,7 +8,6 @@ using System.Security; using System.Text; using System.Threading.Tasks; using Microsoft.Win32; -using Shell; using Wox.Infrastructure; using Microsoft.Plugin.Program.Logger; using Wox.Plugin; @@ -16,6 +15,7 @@ using System.Reflection; namespace Microsoft.Plugin.Program.Programs { + [Serializable] public class Win32 : IProgram { @@ -177,19 +177,11 @@ namespace Microsoft.Plugin.Program.Programs var program = Win32Program(path); try { - var link = new ShellLink(); - const uint STGM_READ = 0; - ((IPersistFile)link).Load(path, STGM_READ); - var hwnd = new _RemotableHandle(); - link.Resolve(ref hwnd, 0); - const int MAX_PATH = 260; StringBuilder buffer = new StringBuilder(MAX_PATH); + ShellLinkHelper _helper = new ShellLinkHelper(); + string target = _helper.retrieveTargetPath(path); - var data = new _WIN32_FIND_DATAW(); - const uint SLGP_SHORTPATH = 1; - link.GetPath(buffer, buffer.Capacity, ref data, SLGP_SHORTPATH); - var target = buffer.ToString(); if (!string.IsNullOrEmpty(target)) { var extension = Extension(target); @@ -199,9 +191,7 @@ namespace Microsoft.Plugin.Program.Programs program.FullPath = Path.GetFullPath(target).ToLower(); program.ExecutableName = Path.GetFileName(target); - buffer = new StringBuilder(MAX_PATH); - link.GetDescription(buffer, MAX_PATH); - var description = buffer.ToString(); + var description = _helper.description; if (!string.IsNullOrEmpty(description)) { program.Description = description; @@ -270,9 +260,9 @@ namespace Microsoft.Plugin.Program.Programs } var files = new List(); - var folderQueue = new Queue(); - folderQueue.Enqueue(directory); - + var folderQueue = new Queue(); + folderQueue.Enqueue(directory); + do { var currentDirectory = folderQueue.Dequeue(); diff --git a/src/modules/launcher/Plugins/Microsoft.Plugin.Program/ShObjIdlTlb.dll b/src/modules/launcher/Plugins/Microsoft.Plugin.Program/ShObjIdlTlb.dll deleted file mode 100644 index 83815e40a4380f97638c8c0af35427eb4ae808e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144896 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
#2?NVUwg`D`1PSuV5rEjE7A#&LPJA1M7~+PKWd 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 D=|-o!