mirror of
https://github.com/valinet/ExplorerPatcher.git
synced 2025-02-10 07:58:27 +01:00
204 lines
6.0 KiB
C
204 lines
6.0 KiB
C
#ifndef _H_IMMERSIVEFLYOUTS_H_
|
|
#define _H_IMMERSIVEFLYOUTS_H_
|
|
#include <Windows.h>
|
|
#include <roapi.h>
|
|
#include "utility.h"
|
|
|
|
DEFINE_GUID(IID_TrayBatteryFlyoutExperienceManager,
|
|
0x0a73aedc,
|
|
0x1c68, 0x410d, 0x8d, 0x53,
|
|
0x63, 0xaf, 0x80, 0x95, 0x1e, 0x8f
|
|
);
|
|
DEFINE_GUID(IID_TrayClockFlyoutExperienceManager,
|
|
0xb1604325,
|
|
0x6b59, 0x427b, 0xbf, 0x1b,
|
|
0x80, 0xa2, 0xdb, 0x02, 0xd3, 0xd8
|
|
);
|
|
DEFINE_GUID(IID_TrayMtcUvcFlyoutExperienceManager,
|
|
0x7154c95d,
|
|
0xc519, 0x49bd, 0xa9, 0x7e,
|
|
0x64, 0x5b, 0xbf, 0xab, 0xE1, 0x11
|
|
);
|
|
DEFINE_GUID(IID_NetworkFlyoutExperienceManager,
|
|
0xC9DDC674,
|
|
0xB44B, 0x4C67, 0x9D, 0x79,
|
|
0x2B, 0x23, 0x7D, 0x9B, 0xE0, 0x5A
|
|
);
|
|
typedef interface IExperienceManager IExperienceManager;
|
|
|
|
typedef struct IExperienceManagerVtbl // : IInspectable
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
|
|
IExperienceManager* This,
|
|
/* [in] */ REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
_COM_Outptr_ void** ppvObject);
|
|
|
|
ULONG(STDMETHODCALLTYPE* AddRef)(
|
|
IExperienceManager* This);
|
|
|
|
ULONG(STDMETHODCALLTYPE* Release)(
|
|
IExperienceManager* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetIids)(
|
|
IExperienceManager* This,
|
|
ULONG* iidCount,
|
|
IID** iids);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetRuntimeClassName)(
|
|
IExperienceManager* This,
|
|
HSTRING* className);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetTrustLevel)(
|
|
IExperienceManager* This,
|
|
TrustLevel* trustLevel);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* ShowFlyout)(
|
|
IExperienceManager* This,
|
|
/* [in] */ __x_ABI_CWindows_CFoundation_CRect* rect);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* HideFlyout)(
|
|
IExperienceManager* This);
|
|
|
|
END_INTERFACE
|
|
} IExperienceManagerVtbl;
|
|
|
|
interface IExperienceManager
|
|
{
|
|
CONST_VTBL struct IExperienceManagerVtbl* lpVtbl;
|
|
};
|
|
|
|
DEFINE_GUID(CLSID_ShellExperienceManagerFactory,
|
|
0x2E8FCB18,
|
|
0xA0EE, 0x41AD, 0x8E, 0xF8,
|
|
0x77, 0xFB, 0x3A, 0x37, 0x0C, 0xA5
|
|
);
|
|
typedef interface IShellExperienceManagerFactory IShellExperienceManagerFactory;
|
|
|
|
typedef struct IShellExperienceManagerFactoryVtbl // : IInspectable
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
|
|
IShellExperienceManagerFactory* This,
|
|
/* [in] */ REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
_COM_Outptr_ void** ppvObject);
|
|
|
|
ULONG(STDMETHODCALLTYPE* AddRef)(
|
|
IShellExperienceManagerFactory* This);
|
|
|
|
ULONG(STDMETHODCALLTYPE* Release)(
|
|
IShellExperienceManagerFactory* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetIids)(
|
|
IShellExperienceManagerFactory* This,
|
|
ULONG* iidCount,
|
|
IID** iids);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetRuntimeClassName)(
|
|
IShellExperienceManagerFactory* This,
|
|
HSTRING* className);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetTrustLevel)(
|
|
IShellExperienceManagerFactory* This,
|
|
TrustLevel* trustLevel);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetExperienceManager)(
|
|
IShellExperienceManagerFactory* This,
|
|
/* [in] */ HSTRING* experience,
|
|
_COM_Outptr_ IInspectable** ppvObject);
|
|
|
|
END_INTERFACE
|
|
} IShellExperienceManagerFactoryVtbl;
|
|
|
|
interface IShellExperienceManagerFactory
|
|
{
|
|
CONST_VTBL struct IShellExperienceManagerFactoryVtbl* lpVtbl;
|
|
};
|
|
|
|
DEFINE_GUID(IID_ActionCenterExperienceManager,
|
|
0xdec04b18,
|
|
0x357e, 0x41d8, 0x9b, 0x71,
|
|
0xb9, 0x91, 0x24, 0x3b, 0xea, 0x34
|
|
);
|
|
DEFINE_GUID(IID_ControlCenterExperienceManager,
|
|
0xd669a58e,
|
|
0x6b18, 0x4d1d, 0x90, 0x04,
|
|
0xa8, 0x86, 0x2a, 0xdb, 0x0a, 0x20
|
|
);
|
|
typedef interface IActionCenterOrControlCenterExperienceManager IActionCenterOrControlCenterExperienceManager;
|
|
|
|
typedef struct IActionCenterOrControlCenterExperienceManagerVtbl // : IInspectable
|
|
{
|
|
BEGIN_INTERFACE
|
|
|
|
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
|
|
IActionCenterOrControlCenterExperienceManager* This,
|
|
/* [in] */ REFIID riid,
|
|
/* [annotation][iid_is][out] */
|
|
_COM_Outptr_ void** ppvObject);
|
|
|
|
ULONG(STDMETHODCALLTYPE* AddRef)(
|
|
IActionCenterOrControlCenterExperienceManager* This);
|
|
|
|
ULONG(STDMETHODCALLTYPE* Release)(
|
|
IActionCenterOrControlCenterExperienceManager* This);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetIids)(
|
|
IActionCenterOrControlCenterExperienceManager* This,
|
|
ULONG* iidCount,
|
|
IID** iids);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetRuntimeClassName)(
|
|
IActionCenterOrControlCenterExperienceManager* This,
|
|
HSTRING* className);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* GetTrustLevel)(
|
|
IActionCenterOrControlCenterExperienceManager* This,
|
|
TrustLevel* trustLevel);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* HotKeyInvoked)(
|
|
IActionCenterOrControlCenterExperienceManager* This,
|
|
/* [in] */ void* kind);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* Show)( // only in control center
|
|
IActionCenterOrControlCenterExperienceManager* This,
|
|
HSTRING hstringUnknown,
|
|
void* bSupressAnimations,
|
|
void* dwUnknown_ShouldBeOne);
|
|
|
|
HRESULT(STDMETHODCALLTYPE* Hide)( // only in control center
|
|
IActionCenterOrControlCenterExperienceManager* This,
|
|
HSTRING hstringUnknown,
|
|
void* bSupressAnimations);
|
|
|
|
END_INTERFACE
|
|
} IActionCenterOrControlCenterExperienceManagerVtbl;
|
|
|
|
interface IActionCenterOrControlCenterExperienceManager
|
|
{
|
|
CONST_VTBL struct IActionCenterOrControlCenterExperienceManagerVtbl* lpVtbl;
|
|
};
|
|
|
|
void InvokeActionCenter();
|
|
|
|
#define INVOKE_FLYOUT_SHOW 1
|
|
#define INVOKE_FLYOUT_HIDE 2
|
|
#define INVOKE_FLYOUT_NETWORK 1
|
|
#define INVOKE_FLYOUT_CLOCK 2
|
|
#define INVOKE_FLYOUT_BATTERY 3
|
|
#define INVOKE_FLYOUT_SOUND 4
|
|
|
|
HRESULT InvokeFlyoutRect(BOOL bAction, DWORD dwWhich, __x_ABI_CWindows_CFoundation_CRect* pRc);
|
|
|
|
inline HRESULT InvokeFlyout(BOOL bAction, DWORD dwWhich)
|
|
{
|
|
__x_ABI_CWindows_CFoundation_CRect rc;
|
|
ZeroMemory(&rc, sizeof(rc));
|
|
return InvokeFlyoutRect(bAction, dwWhich, &rc);
|
|
}
|
|
|
|
#endif |