Browse Source

StartDocked: Disable Recommended section; StartUI: Enable rounded corners (#937)

pull/979/head
Valentin Radu 4 years ago
parent
commit
092d0021b8
  1. 2
      ExplorerPatcher/ExplorerPatcher.vcxproj
  2. 6
      ExplorerPatcher/ExplorerPatcher.vcxproj.filters
  3. 32
      ExplorerPatcher/GUI.c
  4. 86
      ExplorerPatcher/dllmain.c
  5. 570
      ExplorerPatcher/lvt.c
  6. 935
      ExplorerPatcher/lvt.h
  7. 11
      ExplorerPatcher/settings.reg
  8. 4
      ExplorerPatcher/settings10.reg

2
ExplorerPatcher/ExplorerPatcher.vcxproj

@ -259,6 +259,7 @@
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
</ClCompile> </ClCompile>
<ClCompile Include="lvt.c" />
<ClCompile Include="SettingsMonitor.c" /> <ClCompile Include="SettingsMonitor.c" />
<ClCompile Include="StartMenu.c"> <ClCompile Include="StartMenu.c">
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild> <ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
@ -315,6 +316,7 @@
<ClInclude Include="hooking.h" /> <ClInclude Include="hooking.h" />
<ClInclude Include="ep_private.h" /> <ClInclude Include="ep_private.h" />
<ClInclude Include="ImmersiveFlyouts.h" /> <ClInclude Include="ImmersiveFlyouts.h" />
<ClInclude Include="lvt.h" />
<ClInclude Include="queryversion.h" /> <ClInclude Include="queryversion.h" />
<ClInclude Include="resource.h" /> <ClInclude Include="resource.h" />
<ClInclude Include="SettingsMonitor.h" /> <ClInclude Include="SettingsMonitor.h" />

6
ExplorerPatcher/ExplorerPatcher.vcxproj.filters

@ -126,6 +126,9 @@
<ClInclude Include="def.h"> <ClInclude Include="def.h">
<Filter>Header Files</Filter> <Filter>Header Files</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="lvt.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="ExplorerPatcher.rc"> <ResourceCompile Include="ExplorerPatcher.rc">
@ -205,6 +208,9 @@
<ClCompile Include="..\libs\sws\SimpleWindowSwitcher\sws_tshwnd.c"> <ClCompile Include="..\libs\sws\SimpleWindowSwitcher\sws_tshwnd.c">
<Filter>Source Files\sws</Filter> <Filter>Source Files\sws</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="lvt.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="settings.reg"> <None Include="settings.reg">

32
ExplorerPatcher/GUI.c

@ -382,6 +382,30 @@ LSTATUS GUI_Internal_RegSetValueExW(
); );
return RegSetValueExW(hKey, L"Start_MaximumFrequentApps", 0, dwType, lpData, cbData); return RegSetValueExW(hKey, L"Start_MaximumFrequentApps", 0, dwType, lpData, cbData);
} }
else if (!wcscmp(lpValueName, L"Virtualized_" _T(EP_CLSID) L"_StartDocked_DisableRecommendedSection"))
{
RegSetKeyValueW(
HKEY_CURRENT_USER,
TEXT(REGPATH_OLD),
L"StartDocked_DisableRecommendedSection",
dwType,
lpData,
cbData
);
return RegSetValueExW(hKey, L"StartDocked_DisableRecommendedSection", 0, dwType, lpData, cbData);
}
else if (!wcscmp(lpValueName, L"Virtualized_" _T(EP_CLSID) L"_StartUI_EnableRoundedCorners"))
{
RegSetKeyValueW(
HKEY_CURRENT_USER,
TEXT(REGPATH_OLD),
L"StartUI_EnableRoundedCorners",
dwType,
lpData,
cbData
);
return RegSetValueExW(hKey, L"StartUI_EnableRoundedCorners", 0, dwType, lpData, cbData);
}
else if (!wcscmp(lpValueName, L"Virtualized_" _T(EP_CLSID) L"_DisableRoundedCorners")) else if (!wcscmp(lpValueName, L"Virtualized_" _T(EP_CLSID) L"_DisableRoundedCorners"))
{ {
return RegisterDWMService(*(DWORD*)lpData, 0); return RegisterDWMService(*(DWORD*)lpData, 0);
@ -573,6 +597,14 @@ LSTATUS GUI_Internal_RegQueryValueExW(
{ {
return RegQueryValueExW(hKey, L"Start_MaximumFrequentApps", lpReserved, lpType, lpData, lpcbData); return RegQueryValueExW(hKey, L"Start_MaximumFrequentApps", lpReserved, lpType, lpData, lpcbData);
} }
else if (!wcscmp(lpValueName, L"Virtualized_" _T(EP_CLSID) L"_StartDocked_DisableRecommendedSection"))
{
return RegQueryValueExW(hKey, L"StartDocked_DisableRecommendedSection", lpReserved, lpType, lpData, lpcbData);
}
else if (!wcscmp(lpValueName, L"Virtualized_" _T(EP_CLSID) L"_StartUI_EnableRoundedCorners"))
{
return RegQueryValueExW(hKey, L"StartUI_EnableRoundedCorners", lpReserved, lpType, lpData, lpcbData);
}
else if (!wcscmp(lpValueName, L"Virtualized_" _T(EP_CLSID) L"_DisableRoundedCorners")) else if (!wcscmp(lpValueName, L"Virtualized_" _T(EP_CLSID) L"_DisableRoundedCorners"))
{ {
HANDLE h_exists = CreateEventW(NULL, FALSE, FALSE, _T(EP_DWM_EVENTNAME)); HANDLE h_exists = CreateEventW(NULL, FALSE, FALSE, _T(EP_DWM_EVENTNAME));

86
ExplorerPatcher/dllmain.c

@ -24,6 +24,7 @@
#include <tlhelp32.h> #include <tlhelp32.h>
#include <UIAutomationClient.h> #include <UIAutomationClient.h>
#include <math.h> #include <math.h>
#include "lvt.h"
#ifdef _WIN64 #ifdef _WIN64
#include <valinet/pdb/pdb.h> #include <valinet/pdb/pdb.h>
#endif #endif
@ -8998,6 +8999,10 @@ char VisibilityChangedEventArguments_GetVisible(__int64 a1)
DWORD StartMenu_maximumFreqApps = 6; DWORD StartMenu_maximumFreqApps = 6;
DWORD StartMenu_ShowAllApps = 0; DWORD StartMenu_ShowAllApps = 0;
DWORD StartDocked_DisableRecommendedSection = FALSE;
DWORD StartDocked_DisableRecommendedSectionApply = TRUE;
DWORD StartUI_EnableRoundedCorners = FALSE;
DWORD StartUI_EnableRoundedCornersApply = TRUE;
void StartMenu_LoadSettings(BOOL bRestartIfChanged) void StartMenu_LoadSettings(BOOL bRestartIfChanged)
{ {
@ -9064,6 +9069,39 @@ void StartMenu_LoadSettings(BOOL bRestartIfChanged)
exit(0); exit(0);
} }
StartMenu_maximumFreqApps = dwVal; StartMenu_maximumFreqApps = dwVal;
dwSize = sizeof(DWORD);
dwVal = FALSE;
RegQueryValueExW(
hKey,
TEXT("StartDocked_DisableRecommendedSection"),
0,
NULL,
&dwVal,
&dwSize
);
if (dwVal != StartDocked_DisableRecommendedSection)
{
StartDocked_DisableRecommendedSection = dwVal;
StartDocked_DisableRecommendedSectionApply = TRUE;
}
dwSize = sizeof(DWORD);
dwVal = FALSE;
RegQueryValueExW(
hKey,
TEXT("StartUI_EnableRoundedCorners"),
0,
NULL,
&dwVal,
&dwSize
);
if (dwVal != StartUI_EnableRoundedCorners)
{
StartUI_EnableRoundedCorners = dwVal;
StartUI_EnableRoundedCornersApply = TRUE;
}
RegCloseKey(hKey); RegCloseKey(hKey);
} }
@ -9168,7 +9206,7 @@ INT64 StartDocked_StartSizingFrame_StartSizingFrameHook(void* _this)
return rv; return rv;
} }
HANDLE start_CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile) HANDLE StartUI_CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile)
{ {
WCHAR path[MAX_PATH]; WCHAR path[MAX_PATH];
GetWindowsDirectoryW(path, MAX_PATH); GetWindowsDirectoryW(path, MAX_PATH);
@ -9192,7 +9230,7 @@ HANDLE start_CreateFileW(LPCWSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShar
return CreateFileW(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile); return CreateFileW(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile);
} }
BOOL start_GetFileAttributesExW(LPCWSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation) BOOL StartUI_GetFileAttributesExW(LPCWSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfoLevelId, LPVOID lpFileInformation)
{ {
WCHAR path[MAX_PATH]; WCHAR path[MAX_PATH];
GetWindowsDirectoryW(path, MAX_PATH); GetWindowsDirectoryW(path, MAX_PATH);
@ -9216,7 +9254,7 @@ BOOL start_GetFileAttributesExW(LPCWSTR lpFileName, GET_FILEEX_INFO_LEVELS fInfo
return GetFileAttributesExW(lpFileName, fInfoLevelId, lpFileInformation); return GetFileAttributesExW(lpFileName, fInfoLevelId, lpFileInformation);
} }
HANDLE start_FindFirstFileW(LPCWSTR lpFileName, LPWIN32_FIND_DATAW lpFindFileData) HANDLE StartUI_FindFirstFileW(LPCWSTR lpFileName, LPWIN32_FIND_DATAW lpFindFileData)
{ {
WCHAR path[MAX_PATH]; WCHAR path[MAX_PATH];
GetWindowsDirectoryW(path, MAX_PATH); GetWindowsDirectoryW(path, MAX_PATH);
@ -9240,7 +9278,7 @@ HANDLE start_FindFirstFileW(LPCWSTR lpFileName, LPWIN32_FIND_DATAW lpFindFileDat
return FindFirstFileW(lpFileName, lpFindFileData); return FindFirstFileW(lpFileName, lpFindFileData);
} }
LSTATUS start_RegGetValueW(HKEY hkey, LPCWSTR lpSubKey, LPCWSTR lpValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData) LSTATUS StartUI_RegGetValueW(HKEY hkey, LPCWSTR lpSubKey, LPCWSTR lpValue, DWORD dwFlags, LPDWORD pdwType, PVOID pvData, LPDWORD pcbData)
{ {
if (hkey == HKEY_LOCAL_MACHINE && !_wcsicmp(lpSubKey, L"Software\\Microsoft\\Windows\\CurrentVersion\\Mrt\\_Merged") && !_wcsicmp(lpValue, L"ShouldMergeInProc")) if (hkey == HKEY_LOCAL_MACHINE && !_wcsicmp(lpSubKey, L"Software\\Microsoft\\Windows\\CurrentVersion\\Mrt\\_Merged") && !_wcsicmp(lpValue, L"ShouldMergeInProc"))
{ {
@ -9250,11 +9288,33 @@ LSTATUS start_RegGetValueW(HKEY hkey, LPCWSTR lpSubKey, LPCWSTR lpValue, DWORD d
return RegGetValueW(hkey, lpSubKey, lpValue, dwFlags, pdwType, pvData, pcbData); return RegGetValueW(hkey, lpSubKey, lpValue, dwFlags, pdwType, pvData, pcbData);
} }
int start_SetWindowRgn(HWND hWnd, HRGN hRgn, BOOL bRedraw) int StartUI_SetWindowRgn(HWND hWnd, HRGN hRgn, BOOL bRedraw)
{ {
DWORD dwThisPID = GetCurrentProcessId(), dwForeignPID = 0; DWORD dwThisPID = GetCurrentProcessId(), dwForeignPID = 0;
GetWindowThreadProcessId(GetForegroundWindow(), &dwForeignPID); GetWindowThreadProcessId(GetForegroundWindow(), &dwForeignPID);
ShowWindow(hWnd, (!hRgn && dwThisPID != dwForeignPID) ? SW_HIDE : SW_SHOW); BOOL bStartIsHiding = (!hRgn && dwThisPID != dwForeignPID);
ShowWindow(hWnd, bStartIsHiding ? SW_HIDE : SW_SHOW);
if (!bStartIsHiding && StartUI_EnableRoundedCornersApply)
{
LVT_StartUI_EnableRoundedCorners(hWnd, StartUI_EnableRoundedCorners);
if (!StartUI_EnableRoundedCorners)
{
StartUI_EnableRoundedCornersApply = FALSE;
}
}
return SetWindowRgn(hWnd, hRgn, bRedraw);
}
int StartDocked_SetWindowRgn(HWND hWnd, HRGN hRgn, BOOL bRedraw)
{
DWORD dwThisPID = GetCurrentProcessId(), dwForeignPID = 0;
GetWindowThreadProcessId(GetForegroundWindow(), &dwForeignPID);
BOOL bStartIsHiding = (!hRgn && dwThisPID != dwForeignPID);
if (!bStartIsHiding && StartDocked_DisableRecommendedSectionApply)
{
LVT_StartDocked_DisableRecommendedSection(hWnd, StartDocked_DisableRecommendedSection);
StartDocked_DisableRecommendedSectionApply = FALSE;
}
return SetWindowRgn(hWnd, hRgn, bRedraw); return SetWindowRgn(hWnd, hRgn, bRedraw);
} }
@ -9682,7 +9742,7 @@ void InjectStartMenu()
if (dwStartShowClassicMode) if (dwStartShowClassicMode)
{ {
// Fixes hang when Start menu closes // Fixes hang when Start menu closes
VnPatchDelayIAT(hStartUI, "ext-ms-win-ntuser-draw-l1-1-0.dll", "SetWindowRgn", start_SetWindowRgn); VnPatchDelayIAT(hStartUI, "ext-ms-win-ntuser-draw-l1-1-0.dll", "SetWindowRgn", StartUI_SetWindowRgn);
// Redirects to StartTileData from 22000.51 which works with the legacy menu // Redirects to StartTileData from 22000.51 which works with the legacy menu
LoadLibraryW(L"combase.dll"); LoadLibraryW(L"combase.dll");
@ -9692,10 +9752,14 @@ void InjectStartMenu()
// Redirects to pri files from 22000.51 which work with the legacy menu // Redirects to pri files from 22000.51 which work with the legacy menu
LoadLibraryW(L"MrmCoreR.dll"); LoadLibraryW(L"MrmCoreR.dll");
HANDLE hMrmCoreR = GetModuleHandleW(L"MrmCoreR.dll"); HANDLE hMrmCoreR = GetModuleHandleW(L"MrmCoreR.dll");
VnPatchIAT(hMrmCoreR, "api-ms-win-core-file-l1-1-0.dll", "CreateFileW", start_CreateFileW); VnPatchIAT(hMrmCoreR, "api-ms-win-core-file-l1-1-0.dll", "CreateFileW", StartUI_CreateFileW);
VnPatchIAT(hMrmCoreR, "api-ms-win-core-file-l1-1-0.dll", "GetFileAttributesExW", start_GetFileAttributesExW); VnPatchIAT(hMrmCoreR, "api-ms-win-core-file-l1-1-0.dll", "GetFileAttributesExW", StartUI_GetFileAttributesExW);
VnPatchIAT(hMrmCoreR, "api-ms-win-core-file-l1-1-0.dll", "FindFirstFileW", start_FindFirstFileW); VnPatchIAT(hMrmCoreR, "api-ms-win-core-file-l1-1-0.dll", "FindFirstFileW", StartUI_FindFirstFileW);
VnPatchIAT(hMrmCoreR, "api-ms-win-core-registry-l1-1-0.dll", "RegGetValueW", start_RegGetValueW); VnPatchIAT(hMrmCoreR, "api-ms-win-core-registry-l1-1-0.dll", "RegGetValueW", StartUI_RegGetValueW);
}
else
{
VnPatchDelayIAT(hStartDocked, "ext-ms-win-ntuser-draw-l1-1-0.dll", "SetWindowRgn", StartDocked_SetWindowRgn);
} }
Setting* settings = calloc(4, sizeof(Setting)); Setting* settings = calloc(4, sizeof(Setting));

570
ExplorerPatcher/lvt.c

@ -0,0 +1,570 @@
#include "lvt.h"
Windows_UI_Xaml_IDependencyObject* LVT_FindChildByClassName(Windows_UI_Xaml_IDependencyObject* pRootDependencyObject, Windows_UI_Xaml_IVisualTreeHelperStatics* pVisualTreeHelperStatics, LPCWSTR pwszRefName, INT* prevIndex)
{
if (!pRootDependencyObject)
{
return NULL;
}
//WCHAR wszDebug[MAX_PATH];
HRESULT hr = S_OK;
INT32 Count = -1;
hr = pVisualTreeHelperStatics->lpVtbl->GetChildrenCount(pVisualTreeHelperStatics, pRootDependencyObject, &Count);
if (SUCCEEDED(hr))
{
for (INT32 Index = (prevIndex ? *prevIndex : 0); Index < Count; ++Index)
{
Windows_UI_Xaml_IDependencyObject* pChild = NULL;
hr = pVisualTreeHelperStatics->lpVtbl->GetChild(pVisualTreeHelperStatics, pRootDependencyObject, Index, &pChild);
if (SUCCEEDED(hr))
{
HSTRING hsChild = NULL;
pChild->lpVtbl->GetRuntimeClassName(pChild, &hsChild);
if (SUCCEEDED(hr))
{
PCWSTR pwszName = WindowsGetStringRawBuffer(hsChild, 0);
//swprintf_s(wszDebug, MAX_PATH, L"Name: %s\n", pwszName);
//OutputDebugStringW(wszDebug);
if (!_wcsicmp(pwszName, pwszRefName))
{
WindowsDeleteString(hsChild);
if (prevIndex) *prevIndex = Index + 1;
return pChild;
}
WindowsDeleteString(hsChild);
}
pChild->lpVtbl->Release(pChild);
}
}
}
if (prevIndex) *prevIndex = Count;
return NULL;
}
Windows_UI_Xaml_IDependencyObject* LVT_FindChildByName(Windows_UI_Xaml_IDependencyObject* pRootDependencyObject, Windows_UI_Xaml_IVisualTreeHelperStatics* pVisualTreeHelperStatics, LPCWSTR pwszRefName)
{
if (!pRootDependencyObject)
{
return NULL;
}
//WCHAR wszDebug[MAX_PATH];
HRESULT hr = S_OK;
INT32 Count = -1;
hr = pVisualTreeHelperStatics->lpVtbl->GetChildrenCount(pVisualTreeHelperStatics, pRootDependencyObject, &Count);
if (SUCCEEDED(hr))
{
for (INT32 Index = 0; Index < Count; ++Index)
{
Windows_UI_Xaml_IDependencyObject* pChild = NULL;
hr = pVisualTreeHelperStatics->lpVtbl->GetChild(pVisualTreeHelperStatics, pRootDependencyObject, Index, &pChild);
if (SUCCEEDED(hr))
{
Windows_UI_Xaml_IFrameworkElement* pFrameworkElement = NULL;
hr = pChild->lpVtbl->QueryInterface(pChild, &IID_Windows_UI_Xaml_IFrameworkElement, &pFrameworkElement);
if (SUCCEEDED(hr))
{
HSTRING hsChild = NULL;
pFrameworkElement->lpVtbl->get_Name(pFrameworkElement, &hsChild);
if (SUCCEEDED(hr))
{
PCWSTR pwszName = WindowsGetStringRawBuffer(hsChild, 0);
//swprintf_s(wszDebug, MAX_PATH, L"Name: %s\n", pwszName);
//OutputDebugStringW(wszDebug);
if (!_wcsicmp(pwszName, pwszRefName))
{
WindowsDeleteString(hsChild);
pFrameworkElement->lpVtbl->Release(pFrameworkElement);
return pChild;
}
WindowsDeleteString(hsChild);
}
pFrameworkElement->lpVtbl->Release(pFrameworkElement);
}
pChild->lpVtbl->Release(pChild);
}
}
}
return NULL;
}
// Referenece: https://www.reddit.com/r/Windows10/comments/nvcrie/windows_11_start_menu_how_to_temporary_make_your/
void LVT_StartUI_EnableRoundedCorners(HWND hWnd, BOOL bApply)
{
WCHAR wszDebug[MAX_PATH];
HRESULT hr = S_OK;
Windows_UI_Xaml_IDependencyObject* pRootDependencyObject = NULL;
Windows_UI_Xaml_Controls_ICanvasStatics* pCanvasStatics = NULL;
if (SUCCEEDED(hr))
{
HSTRING_HEADER hshControlsCanvasStatics;
HSTRING hsControlsCanvasStatics = NULL;
hr = WindowsCreateStringReference(L"Windows.UI.Xaml.Controls.Canvas", 31, &hshControlsCanvasStatics, &hsControlsCanvasStatics);
if (SUCCEEDED(hr) && hsControlsCanvasStatics)
{
hr = RoGetActivationFactory(hsControlsCanvasStatics, &IID_Windows_UI_Xaml_Controls_ICanvasStatics, &pCanvasStatics);
WindowsDeleteString(hsControlsCanvasStatics);
}
}
if (SUCCEEDED(hr))
{
HSTRING_HEADER hshWindowStatics;
HSTRING hsWindowStatics = NULL;
hr = WindowsCreateStringReference(L"Windows.UI.Xaml.Window", 22, &hshWindowStatics, &hsWindowStatics);
if (SUCCEEDED(hr) && hsWindowStatics)
{
Windows_UI_Xaml_IWindowStatics* pWindowStatics = NULL;
hr = RoGetActivationFactory(hsWindowStatics, &IID_Windows_UI_Xaml_IWindowStatics, &pWindowStatics);
if (SUCCEEDED(hr))
{
Windows_UI_Xaml_IWindow* pWindow = NULL;
hr = pWindowStatics->lpVtbl->get_Current(pWindowStatics, &pWindow);
if (SUCCEEDED(hr))
{
IInspectable* pUIElement = NULL;
hr = pWindow->lpVtbl->get_Content(pWindow, &pUIElement);
if (SUCCEEDED(hr))
{
hr = pUIElement->lpVtbl->QueryInterface(pUIElement, &IID_Windows_UI_Xaml_IDependencyObject, &pRootDependencyObject);
pUIElement->lpVtbl->Release(pUIElement);
}
pWindow->lpVtbl->Release(pWindow);
}
pWindowStatics->lpVtbl->Release(pWindowStatics);
}
WindowsDeleteString(hsWindowStatics);
}
}
if (pRootDependencyObject)
{
HSTRING_HEADER hshVisualTreeHelperStatics;
HSTRING hsVisualTreeHelperStatics = NULL;
hr = WindowsCreateStringReference(L"Windows.UI.Xaml.Media.VisualTreeHelper", 38, &hshVisualTreeHelperStatics, &hsVisualTreeHelperStatics);
if (SUCCEEDED(hr) && hsVisualTreeHelperStatics)
{
Windows_UI_Xaml_IVisualTreeHelperStatics* pVisualTreeHelperStatics = NULL;
hr = RoGetActivationFactory(hsVisualTreeHelperStatics, &IID_Windows_UI_Xaml_IVisualTreeHelperStatics, &pVisualTreeHelperStatics);
if (SUCCEEDED(hr))
{
Windows_UI_Xaml_IDependencyObject* pStartSizingFrame = LVT_FindChildByClassName(pRootDependencyObject, pVisualTreeHelperStatics, L"StartUI.StartSizingFrame", NULL);
if (pStartSizingFrame)
{
Windows_UI_Xaml_IDependencyObject* pStartSizingFramePanel = LVT_FindChildByClassName(pStartSizingFrame, pVisualTreeHelperStatics, L"StartUI.StartSizingFramePanel", NULL);
if (pStartSizingFramePanel)
{
// Drop shadow
Windows_UI_Xaml_IDependencyObject* pDropShadow = LVT_FindChildByClassName(pStartSizingFramePanel, pVisualTreeHelperStatics, L"Windows.UI.Xaml.Controls.Image", NULL);
if (pDropShadow)
{
Windows_UI_Xaml_IUIElement* pIUIElement = NULL;
pDropShadow->lpVtbl->QueryInterface(pDropShadow, &IID_Windows_UI_Xaml_IUIElement, &pIUIElement);
if (pIUIElement)
{
if (bApply)
{
pIUIElement->lpVtbl->put_Visibility(pIUIElement, Windows_UI_Xaml_Visibility_Collapsed);
}
else
{
pIUIElement->lpVtbl->put_Visibility(pIUIElement, Windows_UI_Xaml_Visibility_Visible);
}
pIUIElement->lpVtbl->Release(pIUIElement);
}
pDropShadow->lpVtbl->Release(pDropShadow);
}
Windows_UI_Xaml_IDependencyObject* pContentPresenter = LVT_FindChildByClassName(pStartSizingFramePanel, pVisualTreeHelperStatics, L"Windows.UI.Xaml.Controls.ContentPresenter", NULL);
if (pContentPresenter)
{
Windows_UI_Xaml_IDependencyObject* pFrame = LVT_FindChildByClassName(pContentPresenter, pVisualTreeHelperStatics, L"Windows.UI.Xaml.Controls.Frame", NULL);
if (pFrame)
{
// Main menu padding
Windows_UI_Xaml_Controls_IControl* pIBorder = NULL;
pFrame->lpVtbl->QueryInterface(pFrame, &IID_Windows_UI_Xaml_Controls_IControl, &pIBorder);
if (pIBorder)
{
Windows_UI_Xaml_Thickness th;
th.Left = (bApply ? 10.0 : 0.0);
th.Bottom = th.Left;
th.Right = th.Left;
th.Top = th.Left;
pIBorder->lpVtbl->put_Padding(pIBorder, th);
pIBorder->lpVtbl->Release(pIBorder);
}
Windows_UI_Xaml_IDependencyObject* pContentPresenter2 = LVT_FindChildByClassName(pFrame, pVisualTreeHelperStatics, L"Windows.UI.Xaml.Controls.ContentPresenter", NULL);
if (pContentPresenter2)
{
Windows_UI_Xaml_IDependencyObject* pSplitViewFrame = LVT_FindChildByClassName(pContentPresenter2, pVisualTreeHelperStatics, L"StartUI.SplitViewFrame", NULL);
if (pSplitViewFrame)
{
Windows_UI_Xaml_IDependencyObject* pRootGrid = LVT_FindChildByName(pSplitViewFrame, pVisualTreeHelperStatics, L"RootGrid");
if (pRootGrid)
{
// Main menu corners
Windows_UI_Xaml_IDependencyObject* pAcrylicBorder = LVT_FindChildByName(pRootGrid, pVisualTreeHelperStatics, L"AcrylicBorder");
if (pAcrylicBorder)
{
Windows_UI_Xaml_Controls_IBorder* pIBorder = NULL;
pAcrylicBorder->lpVtbl->QueryInterface(pAcrylicBorder, &IID_Windows_UI_Xaml_Controls_IBorder, &pIBorder);
if (pIBorder)
{
Windows_UI_Xaml_CornerRadius cr;
cr.BottomLeft = (bApply ? 10.0 : 0.0);
cr.BottomRight = cr.BottomLeft;
cr.TopLeft = cr.BottomLeft;
cr.TopRight = cr.BottomLeft;
pIBorder->lpVtbl->put_CornerRadius(pIBorder, cr);
pIBorder->lpVtbl->Release(pIBorder);
}
pAcrylicBorder->lpVtbl->Release(pAcrylicBorder);
}
// Live tiles corners
Windows_UI_Xaml_IDependencyObject* pRootContent = LVT_FindChildByName(pRootGrid, pVisualTreeHelperStatics, L"RootContent");
if (pRootContent)
{
Windows_UI_Xaml_IDependencyObject* pGrid = LVT_FindChildByClassName(pRootContent, pVisualTreeHelperStatics, L"Windows.UI.Xaml.Controls.Grid", NULL);
if (pGrid)
{
Windows_UI_Xaml_IDependencyObject* pContentRoot = LVT_FindChildByName(pGrid, pVisualTreeHelperStatics, L"ContentRoot");
if (pContentRoot)
{
Windows_UI_Xaml_IDependencyObject* pBorder = LVT_FindChildByClassName(pContentRoot, pVisualTreeHelperStatics, L"Windows.UI.Xaml.Controls.Border", NULL);
if (pBorder)
{
Windows_UI_Xaml_IDependencyObject* pContentPaneGrid = LVT_FindChildByName(pBorder, pVisualTreeHelperStatics, L"ContentPaneGrid");
if (pContentPaneGrid)
{
Windows_UI_Xaml_IDependencyObject* pGridPane = LVT_FindChildByName(pContentPaneGrid, pVisualTreeHelperStatics, L"GridPane");
if (pGridPane)
{
Windows_UI_Xaml_IDependencyObject* ppage = LVT_FindChildByName(pGridPane, pVisualTreeHelperStatics, L"page");
if (ppage)
{
Windows_UI_Xaml_IDependencyObject* pgridRoot = LVT_FindChildByName(ppage, pVisualTreeHelperStatics, L"gridRoot");
if (pgridRoot)
{
Windows_UI_Xaml_IDependencyObject* pgroupItems = LVT_FindChildByName(pgridRoot, pVisualTreeHelperStatics, L"groupItems");
if (pgroupItems)
{
Windows_UI_Xaml_IDependencyObject* pBorder2 = LVT_FindChildByClassName(pgroupItems, pVisualTreeHelperStatics, L"Windows.UI.Xaml.Controls.Border", NULL);
if (pBorder2)
{
Windows_UI_Xaml_IDependencyObject* pScrollViewer = LVT_FindChildByName(pBorder2, pVisualTreeHelperStatics, L"ScrollViewer");
if (pScrollViewer)
{
Windows_UI_Xaml_IDependencyObject* pBorder3 = LVT_FindChildByClassName(pScrollViewer, pVisualTreeHelperStatics, L"Windows.UI.Xaml.Controls.Border", NULL);
if (pBorder3)
{
Windows_UI_Xaml_IDependencyObject* pGrid2 = LVT_FindChildByClassName(pBorder3, pVisualTreeHelperStatics, L"Windows.UI.Xaml.Controls.Grid", NULL);
if (pGrid2)
{
Windows_UI_Xaml_IDependencyObject* pScrollContentPresenter = LVT_FindChildByName(pGrid2, pVisualTreeHelperStatics, L"ScrollContentPresenter");
if (pScrollContentPresenter)
{
Windows_UI_Xaml_IDependencyObject* pItemsPresenter = LVT_FindChildByClassName(pScrollContentPresenter, pVisualTreeHelperStatics, L"Windows.UI.Xaml.Controls.ItemsPresenter", NULL);
if (pItemsPresenter)
{
Windows_UI_Xaml_IDependencyObject* pTileGrid = LVT_FindChildByClassName(pItemsPresenter, pVisualTreeHelperStatics, L"Windows.UI.Xaml.Controls.TileGrid", NULL);
if (pTileGrid)
{
INT iIndex = 0;
BOOL bSkipFirst = TRUE;
while (TRUE)
{
Windows_UI_Xaml_IDependencyObject* pCurrentGroup = LVT_FindChildByClassName(pTileGrid, pVisualTreeHelperStatics, L"StartUI.TileListViewItem", &iIndex);
if (!pCurrentGroup)
{
break;
}
if (bSkipFirst)
{
bSkipFirst = FALSE;
pCurrentGroup->lpVtbl->Release(pCurrentGroup);
continue;
}
Windows_UI_Xaml_IDependencyObject* pcontentPresenter = LVT_FindChildByName(pCurrentGroup, pVisualTreeHelperStatics, L"contentPresenter");
if (pcontentPresenter)
{
Windows_UI_Xaml_IDependencyObject* pTileGroupViewControl = LVT_FindChildByClassName(pcontentPresenter, pVisualTreeHelperStatics, L"StartUI.TileGroupViewControl", NULL);
if (pTileGroupViewControl)
{
Windows_UI_Xaml_IDependencyObject* pGrid3 = LVT_FindChildByClassName(pTileGroupViewControl, pVisualTreeHelperStatics, L"Windows.UI.Xaml.Controls.Grid", NULL);
if (pGrid3)
{
Windows_UI_Xaml_IDependencyObject* pNestedPanel = LVT_FindChildByName(pGrid3, pVisualTreeHelperStatics, L"NestedPanel");
if (pNestedPanel)
{
INT jIndex = 0;
while (TRUE)
{
Windows_UI_Xaml_IDependencyObject* pCurrentTile = LVT_FindChildByClassName(pNestedPanel, pVisualTreeHelperStatics, L"StartUI.TileListViewItem", &jIndex);
if (!pCurrentTile)
{
break;
}
Windows_UI_Xaml_IDependencyObject* pcontentPresenter2 = LVT_FindChildByName(pCurrentTile, pVisualTreeHelperStatics, L"contentPresenter");
if (pcontentPresenter2)
{
Windows_UI_Xaml_IDependencyObject* pTileViewControl = LVT_FindChildByClassName(pcontentPresenter2, pVisualTreeHelperStatics, L"StartUI.TileViewControl", NULL);
if (pTileViewControl)
{
Windows_UI_Xaml_Controls_IGrid2* pIGrid2 = NULL;
pTileViewControl->lpVtbl->QueryInterface(pTileViewControl, &IID_Windows_UI_Xaml_Controls_IGrid2, &pIGrid2);
if (pIGrid2)
{
Windows_UI_Xaml_CornerRadius cr;
cr.BottomLeft = (bApply ? 5.0 : 0.0);
cr.BottomRight = cr.BottomLeft;
cr.TopLeft = cr.BottomLeft;
cr.TopRight = cr.BottomLeft;
pIGrid2->lpVtbl->put_CornerRadius(pIGrid2, cr);
pIGrid2->lpVtbl->Release(pIGrid2);
}
pTileViewControl->lpVtbl->Release(pTileViewControl);
}
pcontentPresenter2->lpVtbl->Release(pcontentPresenter2);
}
pCurrentTile->lpVtbl->Release(pCurrentTile);
}
pNestedPanel->lpVtbl->Release(pNestedPanel);
}
pGrid3->lpVtbl->Release(pGrid3);
}
pTileGroupViewControl->lpVtbl->Release(pTileGroupViewControl);
}
pcontentPresenter->lpVtbl->Release(pcontentPresenter);
}
pCurrentGroup->lpVtbl->Release(pCurrentGroup);
}
pTileGrid->lpVtbl->Release(pTileGrid);
}
pItemsPresenter->lpVtbl->Release(pItemsPresenter);
}
pScrollContentPresenter->lpVtbl->Release(pScrollContentPresenter);
}
pGrid2->lpVtbl->Release(pGrid2);
}
pBorder3->lpVtbl->Release(pBorder3);
}
pScrollViewer->lpVtbl->Release(pScrollViewer);
}
pBorder2->lpVtbl->Release(pBorder2);
}
pgroupItems->lpVtbl->Release(pgroupItems);
}
pgridRoot->lpVtbl->Release(pgridRoot);
}
ppage->lpVtbl->Release(ppage);
}
pGridPane->lpVtbl->Release(pGridPane);
}
pContentPaneGrid->lpVtbl->Release(pContentPaneGrid);
}
pBorder->lpVtbl->Release(pBorder);
}
pContentRoot->lpVtbl->Release(pContentRoot);
}
pGrid->lpVtbl->Release(pGrid);
}
pRootContent->lpVtbl->Release(pRootContent);
}
pRootGrid->lpVtbl->Release(pRootGrid);
}
pSplitViewFrame->lpVtbl->Release(pSplitViewFrame);
}
pContentPresenter2->lpVtbl->Release(pContentPresenter2);
}
pFrame->lpVtbl->Release(pFrame);
}
pContentPresenter->lpVtbl->Release(pContentPresenter);
}
pStartSizingFramePanel->lpVtbl->Release(pStartSizingFramePanel);
}
pStartSizingFrame->lpVtbl->Release(pStartSizingFrame);
}
pVisualTreeHelperStatics->lpVtbl->Release(pVisualTreeHelperStatics);
}
WindowsDeleteString(hsVisualTreeHelperStatics);
}
pRootDependencyObject->lpVtbl->Release(pRootDependencyObject);
}
if (pCanvasStatics)
{
pCanvasStatics->lpVtbl->Release(pCanvasStatics);
}
}
// Reference: https://www.reddit.com/r/Windows11/comments/p1ksou/this_is_not_a_concept_microsoft_in_windows_11/
void LVT_StartDocked_DisableRecommendedSection(HWND hWnd, BOOL bApply)
{
WCHAR wszDebug[MAX_PATH];
HRESULT hr = S_OK;
Windows_UI_Xaml_IDependencyObject* pRootDependencyObject = NULL;
if (SUCCEEDED(hr))
{
HSTRING_HEADER hshWindowStatics;
HSTRING hsWindowStatics = NULL;
hr = WindowsCreateStringReference(L"Windows.UI.Xaml.Window", 22, &hshWindowStatics, &hsWindowStatics);
if (SUCCEEDED(hr) && hsWindowStatics)
{
Windows_UI_Xaml_IWindowStatics* pWindowStatics = NULL;
hr = RoGetActivationFactory(hsWindowStatics, &IID_Windows_UI_Xaml_IWindowStatics, &pWindowStatics);
if (SUCCEEDED(hr))
{
Windows_UI_Xaml_IWindow* pWindow = NULL;
hr = pWindowStatics->lpVtbl->get_Current(pWindowStatics, &pWindow);
if (SUCCEEDED(hr))
{
IInspectable* pUIElement = NULL;
hr = pWindow->lpVtbl->get_Content(pWindow, &pUIElement);
if (SUCCEEDED(hr))
{
hr = pUIElement->lpVtbl->QueryInterface(pUIElement, &IID_Windows_UI_Xaml_IDependencyObject, &pRootDependencyObject);
pUIElement->lpVtbl->Release(pUIElement);
}
pWindow->lpVtbl->Release(pWindow);
}
pWindowStatics->lpVtbl->Release(pWindowStatics);
}
WindowsDeleteString(hsWindowStatics);
}
}
if (pRootDependencyObject)
{
HSTRING_HEADER hshVisualTreeHelperStatics;
HSTRING hsVisualTreeHelperStatics = NULL;
hr = WindowsCreateStringReference(L"Windows.UI.Xaml.Media.VisualTreeHelper", 38, &hshVisualTreeHelperStatics, &hsVisualTreeHelperStatics);
if (SUCCEEDED(hr) && hsVisualTreeHelperStatics)
{
Windows_UI_Xaml_IVisualTreeHelperStatics* pVisualTreeHelperStatics = NULL;
hr = RoGetActivationFactory(hsVisualTreeHelperStatics, &IID_Windows_UI_Xaml_IVisualTreeHelperStatics, &pVisualTreeHelperStatics);
if (SUCCEEDED(hr))
{
Windows_UI_Xaml_IDependencyObject* pStartSizingFrame = LVT_FindChildByClassName(pRootDependencyObject, pVisualTreeHelperStatics, L"StartDocked.StartSizingFrame", NULL);
if (pStartSizingFrame)
{
Windows_UI_Xaml_IDependencyObject* pStartSizingFramePanel = LVT_FindChildByClassName(pStartSizingFrame, pVisualTreeHelperStatics, L"StartDocked.StartSizingFramePanel", NULL);
if (pStartSizingFramePanel)
{
Windows_UI_Xaml_IDependencyObject* pContentPresenter = LVT_FindChildByClassName(pStartSizingFramePanel, pVisualTreeHelperStatics, L"Windows.UI.Xaml.Controls.ContentPresenter", NULL);
if (pContentPresenter)
{
Windows_UI_Xaml_IDependencyObject* pFrame = LVT_FindChildByClassName(pContentPresenter, pVisualTreeHelperStatics, L"Windows.UI.Xaml.Controls.Frame", NULL);
if (pFrame)
{
Windows_UI_Xaml_IDependencyObject* pContentPresenter2 = LVT_FindChildByClassName(pFrame, pVisualTreeHelperStatics, L"Windows.UI.Xaml.Controls.ContentPresenter", NULL);
if (pContentPresenter2)
{
Windows_UI_Xaml_IDependencyObject* pLauncherFrame = LVT_FindChildByClassName(pContentPresenter2, pVisualTreeHelperStatics, L"StartDocked.LauncherFrame", NULL);
if (pLauncherFrame)
{
Windows_UI_Xaml_IDependencyObject* pRootGrid = LVT_FindChildByName(pLauncherFrame, pVisualTreeHelperStatics, L"RootGrid");
if (pRootGrid)
{
Windows_UI_Xaml_IDependencyObject* pRootContent = LVT_FindChildByName(pRootGrid, pVisualTreeHelperStatics, L"RootContent");
if (pRootContent)
{
Windows_UI_Xaml_IDependencyObject* pMainContent = LVT_FindChildByName(pRootContent, pVisualTreeHelperStatics, L"MainContent");
if (pMainContent)
{
Windows_UI_Xaml_IDependencyObject* pUndockedRoot = LVT_FindChildByName(pMainContent, pVisualTreeHelperStatics, L"UndockedRoot");
if (pUndockedRoot)
{
Windows_UI_Xaml_IDependencyObject* pStartInnerFrame = LVT_FindChildByClassName(pUndockedRoot, pVisualTreeHelperStatics, L"StartMenu.StartInnerFrame", NULL);
if (pStartInnerFrame)
{
Windows_UI_Xaml_IDependencyObject* pFrameRoot = LVT_FindChildByName(pStartInnerFrame, pVisualTreeHelperStatics, L"FrameRoot");
if (pFrameRoot)
{
Windows_UI_Xaml_IDependencyObject* pTopLevelRoot = LVT_FindChildByName(pFrameRoot, pVisualTreeHelperStatics, L"TopLevelRoot");
if (pTopLevelRoot)
{
Windows_UI_Xaml_IDependencyObject* pStartMenuPinnedList = LVT_FindChildByName(pTopLevelRoot, pVisualTreeHelperStatics, L"StartMenuPinnedList");
if (pStartMenuPinnedList)
{
Windows_UI_Xaml_IFrameworkElement* pFrameworkElement = NULL;
pStartMenuPinnedList->lpVtbl->QueryInterface(pStartMenuPinnedList, &IID_Windows_UI_Xaml_IFrameworkElement, &pFrameworkElement);
if (pFrameworkElement)
{
if (bApply)
{
pFrameworkElement->lpVtbl->put_Height(pFrameworkElement, 510.0);
}
else
{
pFrameworkElement->lpVtbl->put_Height(pFrameworkElement, 252.0);
}
pFrameworkElement->lpVtbl->Release(pFrameworkElement);
}
Windows_UI_Xaml_IDependencyObject* pRoot = LVT_FindChildByName(pStartMenuPinnedList, pVisualTreeHelperStatics, L"Root");
if (pRoot)
{
Windows_UI_Xaml_IDependencyObject* pPinnedListPipsPager = LVT_FindChildByName(pRoot, pVisualTreeHelperStatics, L"PinnedListPipsPager");
if (pPinnedListPipsPager)
{
Windows_UI_Xaml_IUIElement* pIUIElement = NULL;
pPinnedListPipsPager->lpVtbl->QueryInterface(pPinnedListPipsPager, &IID_Windows_UI_Xaml_IUIElement, &pIUIElement);
if (pIUIElement)
{
if (bApply)
{
pIUIElement->lpVtbl->put_Visibility(pIUIElement, Windows_UI_Xaml_Visibility_Collapsed);
}
else
{
pIUIElement->lpVtbl->put_Visibility(pIUIElement, Windows_UI_Xaml_Visibility_Visible);
}
pIUIElement->lpVtbl->Release(pIUIElement);
}
pPinnedListPipsPager->lpVtbl->Release(pPinnedListPipsPager);
}
pRoot->lpVtbl->Release(pRoot);
}
pStartMenuPinnedList->lpVtbl->Release(pStartMenuPinnedList);
}
pTopLevelRoot->lpVtbl->Release(pTopLevelRoot);
}
pFrameRoot->lpVtbl->Release(pFrameRoot);
}
pStartInnerFrame->lpVtbl->Release(pStartInnerFrame);
}
pUndockedRoot->lpVtbl->Release(pUndockedRoot);
}
pMainContent->lpVtbl->Release(pMainContent);
}
pRootContent->lpVtbl->Release(pRootContent);
}
pRootGrid->lpVtbl->Release(pRootGrid);
}
pLauncherFrame->lpVtbl->Release(pLauncherFrame);
}
pContentPresenter2->lpVtbl->Release(pContentPresenter2);
}
pFrame->lpVtbl->Release(pFrame);
}
pContentPresenter->lpVtbl->Release(pContentPresenter);
}
pStartSizingFramePanel->lpVtbl->Release(pStartSizingFramePanel);
}
pStartSizingFrame->lpVtbl->Release(pStartSizingFrame);
}
pVisualTreeHelperStatics->lpVtbl->Release(pVisualTreeHelperStatics);
}
WindowsDeleteString(hsVisualTreeHelperStatics);
}
pRootDependencyObject->lpVtbl->Release(pRootDependencyObject);
}
}

935
ExplorerPatcher/lvt.h

@ -0,0 +1,935 @@
#ifndef _H_LVT_H_
#define _H_LVT_H_
#include <initguid.h>
#include <Windows.h>
#include <inspectable.h>
#include <roapi.h>
#include <winstring.h>
#include <stdio.h>
typedef struct _Windows_UI_Xaml_CornerRadius
{
double TopLeft;
double TopRight;
double BottomRight;
double BottomLeft;
} Windows_UI_Xaml_CornerRadius;
typedef struct _Windows_UI_Xaml_Thickness
{
double Left;
double Top;
double Right;
double Bottom;
} Windows_UI_Xaml_Thickness;
typedef enum _Windows_UI_Xaml_Visibility
{
Windows_UI_Xaml_Visibility_Visible = 0,
Windows_UI_Xaml_Visibility_Collapsed = 1
} Windows_UI_Xaml_Visibility;
#pragma region "Windows.UI.Xaml.IWindowStatics"
DEFINE_GUID(IID_Windows_UI_Xaml_IWindowStatics,
0x93328409, 0x4ea1, 0x4afa, 0x83, 0xdc, 0x0c, 0x4e, 0x73, 0xe8, 0x8b, 0xb1);
typedef interface Windows_UI_Xaml_IWindowStatics Windows_UI_Xaml_IWindowStatics;
typedef struct Windows_UI_Xaml_IWindowStatics_Vtbl
{
BEGIN_INTERFACE
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
__RPC__in Windows_UI_Xaml_IWindowStatics* This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void** ppvObject);
ULONG(STDMETHODCALLTYPE* AddRef)(
__RPC__in Windows_UI_Xaml_IWindowStatics* This);
ULONG(STDMETHODCALLTYPE* Release)(
__RPC__in Windows_UI_Xaml_IWindowStatics* This);
HRESULT(STDMETHODCALLTYPE* GetIids)(
__RPC__in Windows_UI_Xaml_IWindowStatics* This,
/* [out] */ __RPC__out ULONG* iidCount,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID** iids);
HRESULT(STDMETHODCALLTYPE* GetRuntimeClassName)(
__RPC__in Windows_UI_Xaml_IWindowStatics* This,
/* [out] */ __RPC__deref_out_opt HSTRING* className);
HRESULT(STDMETHODCALLTYPE* GetTrustLevel)(
__RPC__in Windows_UI_Xaml_IWindowStatics* This,
/* [out] */ __RPC__out TrustLevel* trustLevel);
HRESULT(STDMETHODCALLTYPE* get_Current)(
__RPC__in Windows_UI_Xaml_IWindowStatics* This,
/* [out] */ __RPC__out void** value
);
END_INTERFACE
} Windows_UI_Xaml_IWindowStatics_Vtbl;
interface Windows_UI_Xaml_IWindowStatics // : IInspectable
{
CONST_VTBL struct Windows_UI_Xaml_IWindowStatics_Vtbl* lpVtbl;
};
#pragma endregion
#pragma region "Windows.UI.Xaml.IWindow"
typedef interface Windows_UI_Xaml_IWindow Windows_UI_Xaml_IWindow;
typedef struct Windows_UI_Xaml_IWindow_Vtbl
{
BEGIN_INTERFACE
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
__RPC__in Windows_UI_Xaml_IWindow* This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void** ppvObject);
ULONG(STDMETHODCALLTYPE* AddRef)(
__RPC__in Windows_UI_Xaml_IWindow* This);
ULONG(STDMETHODCALLTYPE* Release)(
__RPC__in Windows_UI_Xaml_IWindow* This);
HRESULT(STDMETHODCALLTYPE* GetIids)(
__RPC__in Windows_UI_Xaml_IWindow* This,
/* [out] */ __RPC__out ULONG* iidCount,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID** iids);
HRESULT(STDMETHODCALLTYPE* GetRuntimeClassName)(
__RPC__in Windows_UI_Xaml_IWindow* This,
/* [out] */ __RPC__deref_out_opt HSTRING* className);
HRESULT(STDMETHODCALLTYPE* GetTrustLevel)(
__RPC__in Windows_UI_Xaml_IWindow* This,
/* [out] */ __RPC__out TrustLevel* trustLevel);
HRESULT(STDMETHODCALLTYPE* get_Bounds)(
__RPC__in Windows_UI_Xaml_IWindow* This,
/* [out] */ __RPC__out RECT* value
);
HRESULT(STDMETHODCALLTYPE* get_Visible)(
__RPC__in Windows_UI_Xaml_IWindow* This,
/* [out] */ __RPC__out BOOL* value
);
HRESULT(STDMETHODCALLTYPE* get_Content)(
__RPC__in Windows_UI_Xaml_IWindow* This,
/* [out] */ __RPC__out IInspectable** value
);
END_INTERFACE
} Windows_UI_Xaml_IWindow_Vtbl;
interface Windows_UI_Xaml_IWindow // : IInspectable
{
CONST_VTBL struct Windows_UI_Xaml_IWindow_Vtbl* lpVtbl;
};
#pragma endregion
#pragma region "Windows.UI.Xaml.IDependencyObject"
DEFINE_GUID(IID_Windows_UI_Xaml_IDependencyObject,
0x5c526665, 0xf60e, 0x4912, 0xaf, 0x59, 0x5f, 0xe0, 0x68, 0x0f, 0x08, 0x9d);
typedef interface Windows_UI_Xaml_IDependencyObject Windows_UI_Xaml_IDependencyObject;
typedef struct Windows_UI_Xaml_IDependencyObject_Vtbl
{
BEGIN_INTERFACE
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
__RPC__in Windows_UI_Xaml_IDependencyObject* This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void** ppvObject);
ULONG(STDMETHODCALLTYPE* AddRef)(
__RPC__in Windows_UI_Xaml_IDependencyObject* This);
ULONG(STDMETHODCALLTYPE* Release)(
__RPC__in Windows_UI_Xaml_IDependencyObject* This);
HRESULT(STDMETHODCALLTYPE* GetIids)(
__RPC__in Windows_UI_Xaml_IDependencyObject* This,
/* [out] */ __RPC__out ULONG* iidCount,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID** iids);
HRESULT(STDMETHODCALLTYPE* GetRuntimeClassName)(
__RPC__in Windows_UI_Xaml_IDependencyObject* This,
/* [out] */ __RPC__deref_out_opt HSTRING* className);
HRESULT(STDMETHODCALLTYPE* GetTrustLevel)(
__RPC__in Windows_UI_Xaml_IDependencyObject* This,
/* [out] */ __RPC__out TrustLevel* trustLevel);
HRESULT(STDMETHODCALLTYPE* GetValue)(
__RPC__in Windows_UI_Xaml_IDependencyObject* This,
/* [in] */ __RPC__in IInspectable* dp,
/* [out] */ __RPC__out IInspectable** result);
HRESULT(STDMETHODCALLTYPE* SetValue)(
__RPC__in Windows_UI_Xaml_IDependencyObject* This,
/* [in] */ __RPC__in IInspectable* dp,
/* [in] */ __RPC__in IInspectable* value);
END_INTERFACE
} Windows_UI_Xaml_IDependencyObject_Vtbl;
interface Windows_UI_Xaml_IDependencyObject // : IInspectable
{
CONST_VTBL struct Windows_UI_Xaml_IDependencyObject_Vtbl* lpVtbl;
};
#pragma endregion
#pragma region "Windows.UI.Xaml.IVisualTreeHelperStatics"
DEFINE_GUID(IID_Windows_UI_Xaml_IVisualTreeHelperStatics,
0xe75758c4, 0xd25d, 0x4b1d, 0x97, 0x1f, 0x59, 0x6f, 0x17, 0xf1, 0x2b, 0xaa);
typedef interface Windows_UI_Xaml_IVisualTreeHelperStatics Windows_UI_Xaml_IVisualTreeHelperStatics;
typedef struct Windows_UI_Xaml_IVisualTreeHelperStatics_Vtbl
{
BEGIN_INTERFACE
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
__RPC__in Windows_UI_Xaml_IVisualTreeHelperStatics* This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][is][out] */
_COM_Outptr_ void** ppvObject);
ULONG(STDMETHODCALLTYPE* AddRef)(
__RPC__in Windows_UI_Xaml_IVisualTreeHelperStatics* This);
ULONG(STDMETHODCALLTYPE* Release)(
__RPC__in Windows_UI_Xaml_IVisualTreeHelperStatics* This);
HRESULT(STDMETHODCALLTYPE* GetIids)(
__RPC__in Windows_UI_Xaml_IVisualTreeHelperStatics* This,
/* [out] */ __RPC__out ULONG* iidCount,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID** iids);
HRESULT(STDMETHODCALLTYPE* GetRuntimeClassName)(
__RPC__in Windows_UI_Xaml_IVisualTreeHelperStatics* This,
/* [out] */ __RPC__deref_out_opt HSTRING* className);
HRESULT(STDMETHODCALLTYPE* GetTrustLevel)(
__RPC__in Windows_UI_Xaml_IVisualTreeHelperStatics* This,
/* [out] */ __RPC__out TrustLevel* trustLevel);
HRESULT(STDMETHODCALLTYPE* FindElementsInHostCoordinatesPoint)(
__RPC__in Windows_UI_Xaml_IVisualTreeHelperStatics* This);
HRESULT(STDMETHODCALLTYPE* FindElementsInHostCoordinatesRect)(
__RPC__in Windows_UI_Xaml_IVisualTreeHelperStatics* This);
HRESULT(STDMETHODCALLTYPE* FindAllElementsInHostCoordinatesPoint)(
__RPC__in Windows_UI_Xaml_IVisualTreeHelperStatics* This);
HRESULT(STDMETHODCALLTYPE* FindAllElementsInHostCoordinatesRect)(
__RPC__in Windows_UI_Xaml_IVisualTreeHelperStatics* This);
HRESULT(STDMETHODCALLTYPE* GetChild)(
__RPC__in Windows_UI_Xaml_IVisualTreeHelperStatics* This,
/* [in] */ __RPC__in Windows_UI_Xaml_IDependencyObject* reference,
/* [in] */ __RPC__in INT32 childIndex,
/* [out] */ __RPC__out Windows_UI_Xaml_IDependencyObject* result);
HRESULT(STDMETHODCALLTYPE* GetChildrenCount)(
__RPC__in Windows_UI_Xaml_IVisualTreeHelperStatics* This,
/* [in] */ __RPC__in Windows_UI_Xaml_IDependencyObject* reference,
/* [out] */ __RPC__out INT32* result);
HRESULT(STDMETHODCALLTYPE* GetParent)(
__RPC__in Windows_UI_Xaml_IVisualTreeHelperStatics* This,
/* [in] */ __RPC__in Windows_UI_Xaml_IDependencyObject* reference,
/* [out] */ __RPC__out Windows_UI_Xaml_IDependencyObject** result);
HRESULT(STDMETHODCALLTYPE* DisconnectChildrenRecursive)(
__RPC__in Windows_UI_Xaml_IVisualTreeHelperStatics* This);
END_INTERFACE
} Windows_UI_Xaml_IVisualTreeHelperStatics_Vtbl;
interface Windows_UI_Xaml_IVisualTreeHelperStatics // : IInspectable
{
CONST_VTBL struct Windows_UI_Xaml_IVisualTreeHelperStatics_Vtbl* lpVtbl;
};
#pragma endregion
#pragma region "Windows.UI.Xaml.IFrameworkElement"
DEFINE_GUID(IID_Windows_UI_Xaml_IFrameworkElement,
0xa391d09b, 0x4a99, 0x4b7c, 0x9d, 0x8d, 0x6f, 0xa5, 0xd0, 0x1f, 0x6f, 0xbf);
typedef interface Windows_UI_Xaml_IFrameworkElement Windows_UI_Xaml_IFrameworkElement;
typedef struct Windows_UI_Xaml_IFrameworkElement_Vtbl
{
BEGIN_INTERFACE
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][is][out] */
_COM_Outptr_ void** ppvObject);
ULONG(STDMETHODCALLTYPE* AddRef)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
ULONG(STDMETHODCALLTYPE* Release)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* GetIids)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This,
/* [out] */ __RPC__out ULONG* iidCount,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID** iids);
HRESULT(STDMETHODCALLTYPE* GetRuntimeClassName)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This,
/* [out] */ __RPC__deref_out_opt HSTRING* className);
HRESULT(STDMETHODCALLTYPE* GetTrustLevel)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This,
/* [out] */ __RPC__out TrustLevel* trustLevel);
HRESULT(STDMETHODCALLTYPE* get_Triggers)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* get_Resources)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* put_Resources)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* get_Tag)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* put_Tag)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* get_Language)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* put_Language)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* get_ActualWidth)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This,
/* [out] */ __RPC__out DOUBLE* value);
HRESULT(STDMETHODCALLTYPE* get_ActualHeight)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This,
/* [out] */ __RPC__out DOUBLE* value);
HRESULT(STDMETHODCALLTYPE* get_Width)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This,
/* [out] */ __RPC__out DOUBLE* value);
HRESULT(STDMETHODCALLTYPE* put_Width)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This,
/* [in] */ __RPC__in DOUBLE value);
HRESULT(STDMETHODCALLTYPE* get_Height)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This,
/* [out] */ __RPC__out DOUBLE* value);
HRESULT(STDMETHODCALLTYPE* put_Height)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This,
/* [in] */ __RPC__in DOUBLE value);
HRESULT(STDMETHODCALLTYPE* get_MinWidth)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* put_MinWidth)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* get_MaxWidth)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* put_MaxWidth)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* get_MinHeight)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* put_MinHeight)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* get_MaxHeight)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* put_MaxHeight)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* get_HorizontalAlignment)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* put_HorizontalAlignment)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* get_VerticalAlignment)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* put_VerticalAlignment)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* get_Margin)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* put_Margin)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
HRESULT(STDMETHODCALLTYPE* get_Name)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This,
/* [out] */ __RPC__deref_out_opt HSTRING* value);
HRESULT(STDMETHODCALLTYPE* put_Name)(
__RPC__in Windows_UI_Xaml_IFrameworkElement* This);
// ...
END_INTERFACE
} Windows_UI_Xaml_IFrameworkElement_Vtbl;
interface Windows_UI_Xaml_IFrameworkElement // : IInspectable
{
CONST_VTBL struct Windows_UI_Xaml_IFrameworkElement_Vtbl* lpVtbl;
};
#pragma endregion
#pragma region "Windows.UI.Xaml.Controls.IGrid2"
DEFINE_GUID(IID_Windows_UI_Xaml_Controls_IGrid2,
0xf76efa41, 0x380e, 0x45db, 0xbe, 0x87, 0x9e, 0x13, 0x26, 0xba, 0x4b, 0x57);
typedef interface Windows_UI_Xaml_Controls_IGrid2 Windows_UI_Xaml_Controls_IGrid2;
typedef struct Windows_UI_Xaml_Controls_IGrid2_Vtbl
{
BEGIN_INTERFACE
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
__RPC__in Windows_UI_Xaml_Controls_IGrid2* This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void** ppvObject);
ULONG(STDMETHODCALLTYPE* AddRef)(
__RPC__in Windows_UI_Xaml_Controls_IGrid2* This);
ULONG(STDMETHODCALLTYPE* Release)(
__RPC__in Windows_UI_Xaml_Controls_IGrid2* This);
HRESULT(STDMETHODCALLTYPE* GetIids)(
__RPC__in Windows_UI_Xaml_Controls_IGrid2* This,
/* [out] */ __RPC__out ULONG* iidCount,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID** iids);
HRESULT(STDMETHODCALLTYPE* GetRuntimeClassName)(
__RPC__in Windows_UI_Xaml_Controls_IGrid2* This,
/* [out] */ __RPC__deref_out_opt HSTRING* className);
HRESULT(STDMETHODCALLTYPE* GetTrustLevel)(
__RPC__in Windows_UI_Xaml_Controls_IGrid2* This,
/* [out] */ __RPC__out TrustLevel* trustLevel);
HRESULT(STDMETHODCALLTYPE* get_BorderBrush)(
__RPC__in Windows_UI_Xaml_Controls_IGrid2* This);
HRESULT(STDMETHODCALLTYPE* put_BorderBrush)(
__RPC__in Windows_UI_Xaml_Controls_IGrid2* This);
HRESULT(STDMETHODCALLTYPE* get_BorderThickness)(
__RPC__in Windows_UI_Xaml_Controls_IGrid2* This);
HRESULT(STDMETHODCALLTYPE* put_BorderThickness)(
__RPC__in Windows_UI_Xaml_Controls_IGrid2* This);
HRESULT(STDMETHODCALLTYPE* get_CornerRadius)(
__RPC__in Windows_UI_Xaml_Controls_IGrid2* This,
/* [out] */ __RPC__deref_out_opt Windows_UI_Xaml_CornerRadius* value);
HRESULT(STDMETHODCALLTYPE* put_CornerRadius)(
__RPC__in Windows_UI_Xaml_Controls_IGrid2* This,
/* [in] */ __RPC__in Windows_UI_Xaml_CornerRadius value);
HRESULT(STDMETHODCALLTYPE* get_Padding)(
__RPC__in Windows_UI_Xaml_Controls_IGrid2* This);
HRESULT(STDMETHODCALLTYPE* put_Padding)(
__RPC__in Windows_UI_Xaml_Controls_IGrid2* This);
END_INTERFACE
} Windows_UI_Xaml_Controls_IGrid2_Vtbl;
interface Windows_UI_Xaml_Controls_IGrid2 // : IInspectable
{
CONST_VTBL struct Windows_UI_Xaml_Controls_IGrid2_Vtbl* lpVtbl;
};
#pragma endregion
#pragma region "Windows.UI.Xaml.Controls.IBorder"
DEFINE_GUID(IID_Windows_UI_Xaml_Controls_IBorder,
0x797c4539, 0x45bd, 0x4633, 0xa0, 0x44, 0xbf, 0xb0, 0x2e, 0xf5, 0x17, 0x0f);
typedef interface Windows_UI_Xaml_Controls_IBorder Windows_UI_Xaml_Controls_IBorder;
typedef struct Windows_UI_Xaml_Controls_IBorder_Vtbl
{
BEGIN_INTERFACE
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void** ppvObject);
ULONG(STDMETHODCALLTYPE* AddRef)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This);
ULONG(STDMETHODCALLTYPE* Release)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This);
HRESULT(STDMETHODCALLTYPE* GetIids)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This,
/* [out] */ __RPC__out ULONG* iidCount,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID** iids);
HRESULT(STDMETHODCALLTYPE* GetRuntimeClassName)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This,
/* [out] */ __RPC__deref_out_opt HSTRING* className);
HRESULT(STDMETHODCALLTYPE* GetTrustLevel)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This,
/* [out] */ __RPC__out TrustLevel* trustLevel);
HRESULT(STDMETHODCALLTYPE* get_BorderBrush)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This);
HRESULT(STDMETHODCALLTYPE* put_BorderBrush)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This);
HRESULT(STDMETHODCALLTYPE* get_BorderThickness)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This);
HRESULT(STDMETHODCALLTYPE* put_BorderThickness)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This);
HRESULT(STDMETHODCALLTYPE* get_Background)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This);
HRESULT(STDMETHODCALLTYPE* put_Background)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This);
HRESULT(STDMETHODCALLTYPE* get_CornerRadius)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This,
/* [out] */ __RPC__deref_out_opt Windows_UI_Xaml_CornerRadius* value);
HRESULT(STDMETHODCALLTYPE* put_CornerRadius)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This,
/* [in] */ __RPC__in Windows_UI_Xaml_CornerRadius value);
HRESULT(STDMETHODCALLTYPE* get_Padding)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This);
HRESULT(STDMETHODCALLTYPE* put_Padding)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This);
HRESULT(STDMETHODCALLTYPE* get_Child)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This);
HRESULT(STDMETHODCALLTYPE* put_Child)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This);
HRESULT(STDMETHODCALLTYPE* get_ChildTransitions)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This);
HRESULT(STDMETHODCALLTYPE* put_ChildTransitions)(
__RPC__in Windows_UI_Xaml_Controls_IBorder* This);
END_INTERFACE
} Windows_UI_Xaml_Controls_IBorder_Vtbl;
interface Windows_UI_Xaml_Controls_IBorder // : IInspectable
{
CONST_VTBL struct Windows_UI_Xaml_Controls_IBorder_Vtbl* lpVtbl;
};
#pragma endregion
#pragma region "Windows.UI.Xaml.Controls.IControl"
DEFINE_GUID(IID_Windows_UI_Xaml_Controls_IControl,
0xa8912263, 0x2951, 0x4f58, 0xa9, 0xc5, 0x5a, 0x13, 0x4e, 0xaa, 0x7f, 0x07);
typedef interface Windows_UI_Xaml_Controls_IControl Windows_UI_Xaml_Controls_IControl;
typedef struct Windows_UI_Xaml_Controls_IControl_Vtbl
{
BEGIN_INTERFACE
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void** ppvObject);
ULONG(STDMETHODCALLTYPE* AddRef)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
ULONG(STDMETHODCALLTYPE* Release)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* GetIids)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This,
/* [out] */ __RPC__out ULONG* iidCount,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID** iids);
HRESULT(STDMETHODCALLTYPE* GetRuntimeClassName)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This,
/* [out] */ __RPC__deref_out_opt HSTRING* className);
HRESULT(STDMETHODCALLTYPE* GetTrustLevel)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This,
/* [out] */ __RPC__out TrustLevel* trustLevel);
HRESULT(STDMETHODCALLTYPE* get_FontSize)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_FontSize)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_FontFamily)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_FontFamily)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_FontWeight)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_FontWeight)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_FontStyle)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_FontStyle)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_FontStretch)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_FontStretch)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_CharacterSpacing)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_CharacterSpacing)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_Foreground)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_Foreground)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_IsTabStop)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_IsTabStop)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_IsEnabled)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_IsEnabled)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_TabIndex)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_TabIndex)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_TabNavigation)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_TabNavigation)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_Template)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_Template)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_Padding)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This,
/* [out] */ __RPC__out Windows_UI_Xaml_Thickness* value);
HRESULT(STDMETHODCALLTYPE* put_Padding)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This,
/* [in] */ __RPC__in Windows_UI_Xaml_Thickness value);
HRESULT(STDMETHODCALLTYPE* get_HorizontalContentAlignment)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_HorizontalContentAlignment)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_VerticalContentAlignment)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_VerticalContentAlignment)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_Background)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_Background)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_BorderThickness)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_BorderThickness)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_BorderBrush)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* put_BorderBrush)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* get_FocusState)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* add_IsEnabledChanged)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* remove_IsEnabledChanged)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* ApplyTemplate)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
HRESULT(STDMETHODCALLTYPE* Focus)(
__RPC__in Windows_UI_Xaml_Controls_IControl* This);
END_INTERFACE
} Windows_UI_Xaml_Controls_IControl_Vtbl;
interface Windows_UI_Xaml_Controls_IControl // : IInspectable
{
CONST_VTBL struct Windows_UI_Xaml_Controls_IControl_Vtbl* lpVtbl;
};
#pragma endregion
#pragma region "Windows.UI.Xaml.IUIElement"
DEFINE_GUID(IID_Windows_UI_Xaml_IUIElement,
0x676d0be9, 0xb65c, 0x41c6, 0xba, 0x40, 0x58, 0xcf, 0x87, 0xf2, 0x01, 0xc1);
typedef interface Windows_UI_Xaml_IUIElement Windows_UI_Xaml_IUIElement;
typedef struct Windows_UI_Xaml_IUIElement_Vtbl
{
BEGIN_INTERFACE
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
__RPC__in Windows_UI_Xaml_IUIElement* This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void** ppvObject);
ULONG(STDMETHODCALLTYPE* AddRef)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
ULONG(STDMETHODCALLTYPE* Release)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
HRESULT(STDMETHODCALLTYPE* GetIids)(
__RPC__in Windows_UI_Xaml_IUIElement* This,
/* [out] */ __RPC__out ULONG* iidCount,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID** iids);
HRESULT(STDMETHODCALLTYPE* GetRuntimeClassName)(
__RPC__in Windows_UI_Xaml_IUIElement* This,
/* [out] */ __RPC__deref_out_opt HSTRING* className);
HRESULT(STDMETHODCALLTYPE* GetTrustLevel)(
__RPC__in Windows_UI_Xaml_IUIElement* This,
/* [out] */ __RPC__out TrustLevel* trustLevel);
HRESULT(STDMETHODCALLTYPE* get_DesiredSize)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
HRESULT(STDMETHODCALLTYPE* get_AllowDrop)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
HRESULT(STDMETHODCALLTYPE* put_AllowDrop)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
HRESULT(STDMETHODCALLTYPE* get_Opacity)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
HRESULT(STDMETHODCALLTYPE* put_Opacity)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
HRESULT(STDMETHODCALLTYPE* get_Clip)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
HRESULT(STDMETHODCALLTYPE* put_Clip)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
HRESULT(STDMETHODCALLTYPE* get_RenderTransform)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
HRESULT(STDMETHODCALLTYPE* put_RenderTransform)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
HRESULT(STDMETHODCALLTYPE* get_Projection)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
HRESULT(STDMETHODCALLTYPE* put_Projection)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
HRESULT(STDMETHODCALLTYPE* get_RenderTransformOrigin)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
HRESULT(STDMETHODCALLTYPE* put_RenderTransformOrigin)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
HRESULT(STDMETHODCALLTYPE* get_IsHitTestVisible)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
HRESULT(STDMETHODCALLTYPE* put_IsHitTestVisible)(
__RPC__in Windows_UI_Xaml_IUIElement* This);
HRESULT(STDMETHODCALLTYPE* get_Visibility)(
__RPC__in Windows_UI_Xaml_IUIElement* This,
/* [out] */ __RPC__out Windows_UI_Xaml_Visibility* value);
HRESULT(STDMETHODCALLTYPE* put_Visibility)(
__RPC__in Windows_UI_Xaml_IUIElement* This,
/* [in] */ __RPC__in Windows_UI_Xaml_Visibility value);
// ...
END_INTERFACE
} Windows_UI_Xaml_IUIElement_Vtbl;
interface Windows_UI_Xaml_IUIElement // : IInspectable
{
CONST_VTBL struct Windows_UI_Xaml_IUIElement_Vtbl* lpVtbl;
};
#pragma endregion
#pragma region "Windows.UI.Xaml.Controls.ICanvasStatics"
DEFINE_GUID(IID_Windows_UI_Xaml_Controls_ICanvasStatics,
0x40ce5c46, 0x2962, 0x446f, 0xaa, 0xfb, 0x4c, 0xdc, 0x48, 0x69, 0x39, 0xc9);
typedef interface Windows_UI_Xaml_Controls_ICanvasStatics Windows_UI_Xaml_Controls_ICanvasStatics;
typedef struct Windows_UI_Xaml_Controls_ICanvasStatics_Vtbl
{
BEGIN_INTERFACE
HRESULT(STDMETHODCALLTYPE* QueryInterface)(
__RPC__in Windows_UI_Xaml_Controls_ICanvasStatics* This,
/* [in] */ __RPC__in REFIID riid,
/* [annotation][iid_is][out] */
_COM_Outptr_ void** ppvObject);
ULONG(STDMETHODCALLTYPE* AddRef)(
__RPC__in Windows_UI_Xaml_Controls_ICanvasStatics* This);
ULONG(STDMETHODCALLTYPE* Release)(
__RPC__in Windows_UI_Xaml_Controls_ICanvasStatics* This);
HRESULT(STDMETHODCALLTYPE* GetIids)(
__RPC__in Windows_UI_Xaml_Controls_ICanvasStatics* This,
/* [out] */ __RPC__out ULONG* iidCount,
/* [size_is][size_is][out] */ __RPC__deref_out_ecount_full_opt(*iidCount) IID** iids);
HRESULT(STDMETHODCALLTYPE* GetRuntimeClassName)(
__RPC__in Windows_UI_Xaml_Controls_ICanvasStatics* This,
/* [out] */ __RPC__deref_out_opt HSTRING* className);
HRESULT(STDMETHODCALLTYPE* GetTrustLevel)(
__RPC__in Windows_UI_Xaml_Controls_ICanvasStatics* This,
/* [out] */ __RPC__out TrustLevel* trustLevel);
HRESULT(STDMETHODCALLTYPE* get_LeftProperty)(
__RPC__in Windows_UI_Xaml_Controls_ICanvasStatics* This,
/* [out] */ __RPC__out IInspectable** value);
HRESULT(STDMETHODCALLTYPE* GetLeft)(
__RPC__in Windows_UI_Xaml_Controls_ICanvasStatics* This,
/* [in] */ __RPC__in Windows_UI_Xaml_IUIElement* element,
/* [out] */ __RPC__out DOUBLE* result);
HRESULT(STDMETHODCALLTYPE* SetLeft)(
__RPC__in Windows_UI_Xaml_Controls_ICanvasStatics* This,
/* [in] */ __RPC__in Windows_UI_Xaml_IUIElement* element,
/* [in] */ __RPC__in DOUBLE length);
HRESULT(STDMETHODCALLTYPE* get_TopProperty)(
__RPC__in Windows_UI_Xaml_Controls_ICanvasStatics* This,
/* [out] */ __RPC__out IInspectable** value);
HRESULT(STDMETHODCALLTYPE* GetTop)(
__RPC__in Windows_UI_Xaml_Controls_ICanvasStatics* This,
/* [in] */ __RPC__in Windows_UI_Xaml_IUIElement* element,
/* [out] */ __RPC__out DOUBLE* result);
HRESULT(STDMETHODCALLTYPE* SetTop)(
__RPC__in Windows_UI_Xaml_Controls_ICanvasStatics* This,
/* [in] */ __RPC__in Windows_UI_Xaml_IUIElement* element,
/* [in] */ __RPC__in DOUBLE length);
HRESULT(STDMETHODCALLTYPE* get_ZIndexProperty)(
__RPC__in Windows_UI_Xaml_Controls_ICanvasStatics* This,
/* [out] */ __RPC__out IInspectable** value);
HRESULT(STDMETHODCALLTYPE* GetZIndex)(
__RPC__in Windows_UI_Xaml_Controls_ICanvasStatics* This,
/* [in] */ __RPC__in Windows_UI_Xaml_IUIElement* element,
/* [out] */ __RPC__out INT32* result);
HRESULT(STDMETHODCALLTYPE* SetZIndex)(
__RPC__in Windows_UI_Xaml_Controls_ICanvasStatics* This,
/* [in] */ __RPC__in Windows_UI_Xaml_IUIElement* element,
/* [in] */ __RPC__in INT32 value);
END_INTERFACE
} Windows_UI_Xaml_Controls_ICanvasStatics_Vtbl;
interface Windows_UI_Xaml_Controls_ICanvasStatics // : IInspectable
{
CONST_VTBL struct Windows_UI_Xaml_Controls_ICanvasStatics_Vtbl* lpVtbl;
};
#pragma endregion
Windows_UI_Xaml_IDependencyObject* LVT_FindChildByClassName(Windows_UI_Xaml_IDependencyObject* pRootDependencyObject, Windows_UI_Xaml_IVisualTreeHelperStatics* pVisualTreeHelperStatics, LPCWSTR pwszRefName, INT* prevIndex);
Windows_UI_Xaml_IDependencyObject* LVT_FindChildByName(Windows_UI_Xaml_IDependencyObject* pRootDependencyObject, Windows_UI_Xaml_IVisualTreeHelperStatics* pVisualTreeHelperStatics, LPCWSTR pwszRefName);
void LVT_StartUI_EnableRoundedCorners(HWND, BOOL);
void LVT_StartDocked_DisableRecommendedSection(HWND, BOOL);
#endif

11
ExplorerPatcher/settings.reg

@ -175,9 +175,6 @@
"Start_ShowClassicMode"=dword:00000000 "Start_ShowClassicMode"=dword:00000000
;y More Start menu options in the Settings app 🡕 ;y More Start menu options in the Settings app 🡕
;ms-settings:personalization-start ;ms-settings:personalization-start
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage]
;b Open Start at logon
"OpenAtLogon"=dword:00000000
[HKEY_CURRENT_USER\Software\ExplorerPatcher] [HKEY_CURRENT_USER\Software\ExplorerPatcher]
;c 22 Maximum number of frequent apps to show ;c 22 Maximum number of frequent apps to show
;x 0 None ;x 0 None
@ -218,6 +215,9 @@
;x 9 Monitor #9 ;x 9 Monitor #9
"MonitorOverride"=dword:00000001 "MonitorOverride"=dword:00000001
;t The following settings only apply to the Windows 11 Start menu: ;t The following settings only apply to the Windows 11 Start menu:
[HKEY_CURRENT_USER\Software\ExplorerPatcher]
;b Disable the "Recommended" section
;"Virtualized_{D17F1E1A-5919-4427-8F89-A1A8503CA3EB}_StartDocked_DisableRecommendedSection"=dword:00000000
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage]
;b Open Start in All apps by default ;b Open Start in All apps by default
"MakeAllAppsDefault"=dword:00000000 "MakeAllAppsDefault"=dword:00000000
@ -226,6 +226,11 @@
;x 0 Left ;x 0 Left
;x 1 Center (default) ;x 1 Center (default)
"TaskbarAl"=dword:00000001 "TaskbarAl"=dword:00000001
;t The following settings only apply to the Windows 10 Start menu:
[HKEY_CURRENT_USER\Software\ExplorerPatcher]
;b Enable rounded corners
;"Virtualized_{D17F1E1A-5919-4427-8F89-A1A8503CA3EB}_StartUI_EnableRoundedCorners"=dword:00000000
;T Window switcher ;T Window switcher

4
ExplorerPatcher/settings10.reg

@ -149,6 +149,8 @@
;T Start menu ;T Start menu
;y More Start menu options in the Settings app 🡕
;ms-settings:personalization-start
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\StartPage]
;e When using multiple displays, open Start on this monitor when invoked using ;e When using multiple displays, open Start on this monitor when invoked using
;z 10 the keyboard: ;z 10 the keyboard:
@ -163,8 +165,6 @@
;x 8 Monitor #8 ;x 8 Monitor #8
;x 9 Monitor #9 ;x 9 Monitor #9
"MonitorOverride"=dword:00000001 "MonitorOverride"=dword:00000001
;e If the selected monitor is not available, Start will open on the primary display.
;T Window switcher ;T Window switcher
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer] [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]

Loading…
Cancel
Save