Allow set foreground from PS by JohnMcPMS · Pull Request #5541 · microsoft/winget-cli
Expand Up
@@ -103,7 +103,14 @@ public static ManagementDeploymentFactory Instance
/// <returns>A <see cref="PackageManager" /> instance.</returns>
public PackageManager CreatePackageManager()
{
return Create<PackageManager>(PackageManagerType, PackageManagerIid);
var result = Create<PackageManager>(PackageManagerType, PackageManagerIid);
if (!Utilities.UsesInProcWinget) { _ = CoAllowSetForegroundWindow(result, IntPtr.Zero); }
return result; }
/// <summary> Expand Down Expand Up @@ -222,5 +229,8 @@ private static T Create<T>(Type? type, in Guid iid) return (T)instance; #endif }
[DllImport("ole32.dll", ExactSpelling = true, PreserveSig = true)] private static extern int CoAllowSetForegroundWindow([MarshalAs(UnmanagedType.IUnknown)] object pUnk, IntPtr reserved); } }
if (!Utilities.UsesInProcWinget) { _ = CoAllowSetForegroundWindow(result, IntPtr.Zero); }
return result; }
/// <summary> Expand Down Expand Up @@ -222,5 +229,8 @@ private static T Create<T>(Type? type, in Guid iid) return (T)instance; #endif }
[DllImport("ole32.dll", ExactSpelling = true, PreserveSig = true)] private static extern int CoAllowSetForegroundWindow([MarshalAs(UnmanagedType.IUnknown)] object pUnk, IntPtr reserved); } }