/ src / modules / launcher / Plugins / Microsoft.Plugin.Program / Programs / IApplicationActivationManager.cs
IApplicationActivationManager.cs
 1  // Copyright (c) Microsoft Corporation
 2  // The Microsoft Corporation licenses this file to you under the MIT license.
 3  // See the LICENSE file in the project root for more information.
 4  
 5  using System;
 6  using System.Runtime.InteropServices;
 7  
 8  namespace Microsoft.Plugin.Program.Programs.ApplicationActivationHelper
 9  {
10      // Reference : https://github.com/MicrosoftEdge/edge-launcher/blob/108e63df0b4cb5cd9d5e45aa7a264690851ec51d/MIcrosoftEdgeLauncherCsharp/Program.cs
11      [Flags]
12      public enum ActivateOptions
13      {
14          None = 0x00000000,
15          DesignMode = 0x00000001,
16          NoErrorUI = 0x00000002,
17          NoSplashScreen = 0x00000004,
18      }
19  
20      // ApplicationActivationManager
21      [ComImport]
22      [Guid("2e941141-7f97-4756-ba1d-9decde894a3d")]
23      [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
24      public interface IApplicationActivationManager
25      {
26          IntPtr ActivateApplication([In] string appUserModelId, [In] string arguments, [In] ActivateOptions options, [Out] out uint processId);
27  
28          IntPtr ActivateForFile([In] string appUserModelId, [In] IntPtr /*IShellItemArray* */ itemArray, [In] string verb, [Out] out uint processId);
29  
30          IntPtr ActivateForProtocol([In] string appUserModelId, [In] IntPtr /* IShellItemArray* */itemArray, [Out] out uint processId);
31      }
32  }