-
Notifications
You must be signed in to change notification settings - Fork 45
Home
Michael edited this page May 6, 2018
·
12 revisions
Updated interfaces in Windows 10 build 17134 and 17661
Build 17134
IApplicationView
[ComImport]
[Guid("871F602A-2B58-42B4-8C4B-6C43D642C06F")]
[InterfaceType(ComInterfaceType.InterfaceIsIInspectable)]
public interface IApplicationView
{
int SetFocus();
int SwitchTo();
int TryInvokeBack(ref IntPtr /* IAsyncCallback* */ callback);
int GetThumbnailWindow(out IntPtr hwnd);
int GetMonitor(out IntPtr /* IImmersiveMonitor */ immersiveMonitor);
int GetVisibility(out int visibility);
int SetCloak(APPLICATION_VIEW_CLOAK_TYPE cloakType, int unknown);
int GetPosition(ref Guid guid /* GUID for IApplicationViewPosition */, out IntPtr /* IApplicationViewPosition** */ position);
int SetPosition(ref IntPtr /* IApplicationViewPosition* */ position);
int InsertAfterWindow(IntPtr hwnd);
int GetExtendedFramePosition(out Rect rect);
int GetAppUserModelId([MarshalAs(UnmanagedType.LPWStr)] out string id);
int SetAppUserModelId(string id);
int IsEqualByAppUserModelId(string id, out int result);
int GetViewState(out int state);
int SetViewState(int state);
int GetNeediness(out int neediness);
int GetLastActivationTimestamp(out long timestamp);
int SetLastActivationTimestamp(long timestamp);
int GetVirtualDesktopId(out Guid guid);
int SetVirtualDesktopId(ref Guid guid);
int GetShowInSwitchers(out int flag);
int SetShowInSwitchers(int flag);
int GetScaleFactor(out int factor);
int CanReceiveInput(out bool canReceiveInput);
int GetCompatibilityPolicyType(out APPLICATION_VIEW_COMPATIBILITY_POLICY flags);
int SetCompatibilityPolicyType(APPLICATION_VIEW_COMPATIBILITY_POLICY flags);
int GetSizeConstraints(IntPtr /* IImmersiveMonitor* */ monitor, out Size size1, out Size size2);
int GetSizeConstraintsForDpi(int uint1, out Size size1, out Size size2);
int SetSizeConstraintsForDpi(ref int uint1, ref Size size1, ref Size size2);
int OnMinSizePreferencesUpdated(IntPtr hwnd);
int ApplyOperation(ref IntPtr /* IApplicationViewOperation* */ operation);
int IsTray(out bool isTray);
int IsInHighZOrderBand(out bool isInHighZOrderBand);
int IsSplashScreenPresented(out bool isSplashScreenPresented);
int Flash();
int GetRootSwitchableOwner(out IApplicationView rootSwitchableOwner);
int EnumerateOwnershipTree(out IObjectArray ownershipTree);
int GetEnterpriseId([MarshalAs(UnmanagedType.LPWStr)] out string enterpriseId);
int IsMirrored(out bool isMirrored);
//These have been removed in 1803
//int GetPositionPriority(out IntPtr /* IShellPositionerPriority** */ priority);
//int SetPositionPriority(IntPtr /* IShellPositionerPriority* */ priority);
//int QuerySizeConstraintsFromApp();
//new in 1803
int Unknown1(out int unknown);
int Unknown2(out UNKNOWN unknown);
int Unknown3(out int unknown);
int Unknown4(int unknown);
}
Build 17661
IApplicationView & IApplicationViewCollection
[ComImport]
[Guid("ca55f183-de6b-43ce-912f-36092ee72bd8")]
[InterfaceType(ComInterfaceType.InterfaceIsIInspectable)]
public interface IApplicationView
{
int SetFocus();
int SwitchTo();
int TryInvokeBack(ref IntPtr /* IAsyncCallback* */ callback);
int GetThumbnailWindow(out IntPtr hwnd);
int GetMonitor(out IntPtr /* IImmersiveMonitor */ immersiveMonitor);
int GetVisibility(out int visibility);
int SetCloak(APPLICATION_VIEW_CLOAK_TYPE cloakType, int unknown);
int GetPosition(ref Guid guid /* GUID for IApplicationViewPosition */, out IntPtr /* IApplicationViewPosition** */ position);
int SetPosition(ref IntPtr /* IApplicationViewPosition* */ position);
int InsertAfterWindow(IntPtr hwnd);
int GetExtendedFramePosition(out Rect rect);
int GetAppUserModelId([MarshalAs(UnmanagedType.LPWStr)] out string id);
int SetAppUserModelId(string id);
int IsEqualByAppUserModelId(string id, out int result);
int GetViewState(out int state);
int SetViewState(int state);
int GetNeediness(out int neediness);
int GetLastActivationTimestamp(out long timestamp);
int SetLastActivationTimestamp(long timestamp);
int GetVirtualDesktopId(out Guid guid);
int SetVirtualDesktopId(ref Guid guid);
int GetShowInSwitchers(out int flag);
int SetShowInSwitchers(int flag);
int GetScaleFactor(out int factor);
int CanReceiveInput(out bool canReceiveInput);
int GetCompatibilityPolicyType(out APPLICATION_VIEW_COMPATIBILITY_POLICY flags);
int SetCompatibilityPolicyType(APPLICATION_VIEW_COMPATIBILITY_POLICY flags);
int GetSizeConstraints(IntPtr /* IImmersiveMonitor* */ monitor, out Size size1, out Size size2);
int GetSizeConstraintsForDpi(int uint1, out Size size1, out Size size2);
int SetSizeConstraintsForDpi(ref int uint1, ref Size size1, ref Size size2);
int OnMinSizePreferencesUpdated(IntPtr hwnd);
int ApplyOperation(ref IntPtr /* IApplicationViewOperation* */ operation);
int IsTray(out bool isTray);
int IsInHighZOrderBand(out bool isInHighZOrderBand);
int IsSplashScreenPresented(out bool isSplashScreenPresented);
int Flash();
int GetRootSwitchableOwner(out IApplicationView1803 rootSwitchableOwner);
int EnumerateOwnershipTree(out IObjectArray ownershipTree);
int GetEnterpriseId([MarshalAs(UnmanagedType.LPWStr)] out string enterpriseId);
int IsMirrored(out bool isMirrored);
//These have been removed in 1803
//int GetPositionPriority(out IntPtr /* IShellPositionerPriority** */ priority);
//int SetPositionPriority(IntPtr /* IShellPositionerPriority* */ priority);
//int QuerySizeConstraintsFromApp();
int Unknown1(out int unknown);
int Unknown2(out int unknown);
int Unknown3(out int unknown);
int Unknown4(int unknown);
//new in 17661
int Unknown5();
int Unknown6(out int unknown);
int Unknown7(int unknown);
int Unknown8(int unknownX, int unknownY);
}
[ComImport]
[Guid("1841c6d7-4f9d-42c0-af41-8747538f10e5")]
[InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
public interface IApplicationViewCollection
{
int GetViews(out IObjectArray array);
int GetViewsByZOrder(out IObjectArray array);
int GetViewsByAppUserModelId(string id, out IObjectArray array);
int GetViewForHwnd(IntPtr hwnd, out IApplicationView view);
int GetViewForApplication(object application, out IApplicationView view);
int GetViewForAppUserModelId(string id, out IApplicationView view);
int GetViewInFocus(out IntPtr view);
int Unknown1(out IntPtr view);
void outreshCollection();
int RegisterForApplicationViewChanges(object listener, out int cookie);
Removed
//int RegisterForApplicationViewPositionChanges(object listener, out int cookie);
int UnregisterForApplicationViewChanges(int cookie);
}