@ -72,6 +72,7 @@ DWORD bShowUpdateToast = FALSE;
@@ -72,6 +72,7 @@ DWORD bShowUpdateToast = FALSE;
DWORD bToolbarSeparators = FALSE ;
DWORD bTaskbarAutohideOnDoubleClick = FALSE ;
DWORD dwOrbStyle = 0 ;
DWORD bEnableSymbolDownload = FALSE ;
HMODULE hModule = NULL ;
HANDLE hDelayedInjectionThread = NULL ;
HANDLE hIsWinXShown = NULL ;
@ -726,43 +727,43 @@ static INT64(*winrt_Windows_Internal_Shell_implementation_MeetAndChatManager_OnM
@@ -726,43 +727,43 @@ static INT64(*winrt_Windows_Internal_Shell_implementation_MeetAndChatManager_OnM
void * _this ,
INT64 a2 ,
INT a3
) ;
) = NULL ;
static INT64 ( * CLauncherTipContextMenu_ShowLauncherTipContextMenuFunc ) (
void * _this ,
POINT * pt
) ;
) = NULL ;
static void ( * CLauncherTipContextMenu_ExecuteCommandFunc ) (
void * _this ,
int a2
) ;
) = NULL ;
static void ( * CLauncherTipContextMenu_ExecuteShutdownCommandFunc ) (
void * _this ,
void * a2
) ;
) = NULL ;
static INT64 ( * ImmersiveContextMenuHelper_ApplyOwnerDrawToMenuFunc ) (
HMENU h1 ,
HMENU h2 ,
HWND a3 ,
unsigned int a4 ,
void * data
) ;
) = NULL ;
static void ( * ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc ) (
HMENU _this ,
HMENU hWnd ,
HWND a3
) ;
) = NULL ;
static INT64 ( * CLauncherTipContextMenu_GetMenuItemsAsyncFunc ) (
void * _this ,
void * rect ,
void * * iunk
) ;
) = NULL ;
static INT64 ( * CImmersiveContextMenuOwnerDrawHelper_s_ContextMenuWndProcFunc ) (
HWND hWnd ,
int a2 ,
HWND a3 ,
int a4 ,
BOOL * a5
) ;
) = NULL ;
LRESULT CALLBACK CLauncherTipContextMenu_WndProc (
_In_ HWND hWnd ,
@ -819,6 +820,7 @@ LRESULT CALLBACK CLauncherTipContextMenu_WndProc(
@@ -819,6 +820,7 @@ LRESULT CALLBACK CLauncherTipContextMenu_WndProc(
void * _this = GetWindowLongPtr ( hWnd , GWLP_USERDATA ) ;
BOOL v12 = FALSE ;
if ( ( uMsg = = WM_DRAWITEM | | uMsg = = WM_MEASUREITEM ) & &
CImmersiveContextMenuOwnerDrawHelper_s_ContextMenuWndProcFunc & &
CImmersiveContextMenuOwnerDrawHelper_s_ContextMenuWndProcFunc (
hWnd ,
uMsg ,
@ -953,6 +955,8 @@ DWORD ShowLauncherTipContextMenu(
@@ -953,6 +955,8 @@ DWORD ShowLauncherTipContextMenu(
if ( bSkinMenus )
{
unknown_array = calloc ( 4 , sizeof ( INT64 ) ) ;
if ( ImmersiveContextMenuHelper_ApplyOwnerDrawToMenuFunc )
{
ImmersiveContextMenuHelper_ApplyOwnerDrawToMenuFunc (
* ( ( HMENU * ) ( ( char * ) params - > _this + 0xe8 ) ) ,
hWinXWnd ,
@ -961,6 +965,7 @@ DWORD ShowLauncherTipContextMenu(
@@ -961,6 +965,7 @@ DWORD ShowLauncherTipContextMenu(
unknown_array
) ;
}
}
BOOL res = TrackPopupMenu (
* ( ( HMENU * ) ( ( char * ) params - > _this + 0xe8 ) ) ,
@ -973,12 +978,15 @@ DWORD ShowLauncherTipContextMenu(
@@ -973,12 +978,15 @@ DWORD ShowLauncherTipContextMenu(
) ;
if ( bSkinMenus )
{
if ( ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc )
{
ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc (
* ( ( HMENU * ) ( ( char * ) params - > _this + 0xe8 ) ) ,
hWinXWnd ,
& ( params - > point )
) ;
}
free ( unknown_array ) ;
}
@ -1000,20 +1008,26 @@ DWORD ShowLauncherTipContextMenu(
@@ -1000,20 +1008,26 @@ DWORD ShowLauncherTipContextMenu(
else if ( res < 4000 )
{
INT64 info = * ( INT64 * ) ( ( char * ) ( * ( INT64 * ) ( ( char * ) params - > _this + 0xa8 - 0x58 ) ) + ( INT64 ) res * 8 - 8 ) ;
if ( CLauncherTipContextMenu_ExecuteCommandFunc )
{
CLauncherTipContextMenu_ExecuteCommandFunc (
( char * ) params - > _this - 0x58 ,
& info
) ;
}
}
else
{
INT64 info = * ( INT64 * ) ( ( char * ) ( * ( INT64 * ) ( ( char * ) params - > _this + 0xc8 - 0x58 ) ) + ( ( INT64 ) res - 4000 ) * 8 ) ;
if ( CLauncherTipContextMenu_ExecuteShutdownCommandFunc )
{
CLauncherTipContextMenu_ExecuteShutdownCommandFunc (
( char * ) params - > _this - 0x58 ,
& info
) ;
}
}
}
finalize :
params - > iunk - > lpVtbl - > Release ( params - > iunk ) ;
@ -1132,12 +1146,17 @@ INT64 CLauncherTipContextMenu_ShowLauncherTipContextMenuHook(
@@ -1132,12 +1146,17 @@ INT64 CLauncherTipContextMenu_ShowLauncherTipContextMenuHook(
point = GetDefaultWinXPosition ( FALSE , NULL , NULL , TRUE ) ;
}
IUnknown * iunk ;
INT64 r = CLauncherTipContextMenu_GetMenuItemsAsyncFunc (
IUnknown * iunk = NULL ;
if ( CLauncherTipContextMenu_GetMenuItemsAsyncFunc )
{
CLauncherTipContextMenu_GetMenuItemsAsyncFunc (
_this ,
& point ,
& iunk
) ;
}
if ( iunk )
{
iunk - > lpVtbl - > AddRef ( iunk ) ;
ShowLauncherTipContextMenuParameters * params = malloc (
@ -1156,10 +1175,14 @@ INT64 CLauncherTipContextMenu_ShowLauncherTipContextMenuHook(
@@ -1156,10 +1175,14 @@ INT64 CLauncherTipContextMenu_ShowLauncherTipContextMenuHook(
0
) ;
hWinXThread = hIsWinXShown ;
}
finalize :
if ( CLauncherTipContextMenu_ShowLauncherTipContextMenuFunc )
{
return CLauncherTipContextMenu_ShowLauncherTipContextMenuFunc ( _this , pt ) ;
}
return 0 ;
}
# endif
# pragma endregion
@ -1466,6 +1489,8 @@ INT64 Shell_TrayWndSubclassProc(
@@ -1466,6 +1489,8 @@ INT64 Shell_TrayWndSubclassProc(
if ( bSkinMenus )
{
unknown_array = calloc ( 4 , sizeof ( INT64 ) ) ;
if ( ImmersiveContextMenuHelper_ApplyOwnerDrawToMenuFunc )
{
ImmersiveContextMenuHelper_ApplyOwnerDrawToMenuFunc (
hSubMenu ,
hWnd ,
@ -1474,6 +1499,7 @@ INT64 Shell_TrayWndSubclassProc(
@@ -1474,6 +1499,7 @@ INT64 Shell_TrayWndSubclassProc(
unknown_array
) ;
}
}
BOOL res = TrackPopupMenu (
hSubMenu ,
@ -1506,12 +1532,15 @@ INT64 Shell_TrayWndSubclassProc(
@@ -1506,12 +1532,15 @@ INT64 Shell_TrayWndSubclassProc(
}
if ( bSkinMenus )
{
if ( ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc )
{
ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc (
hSubMenu ,
hWnd ,
& pt
) ;
}
free ( unknown_array ) ;
}
@ -1769,10 +1798,12 @@ BOOL TrackPopupMenuHookEx(
@@ -1769,10 +1798,12 @@ BOOL TrackPopupMenuHookEx(
if ( IsImmersiveMenu )
{
IsImmersiveMenu = FALSE ;
# ifndef _WIN64
if ( bIsExplorerProcess )
{
# ifdef _WIN64
# else
if ( bIsExplorerProcess & & ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc )
{
POINT pt ;
pt . x = x ;
pt . y = y ;
@ -1855,9 +1886,12 @@ BOOL TrackPopupMenuHook(
@@ -1855,9 +1886,12 @@ BOOL TrackPopupMenuHook(
{
IsImmersiveMenu = FALSE ;
# ifndef _WIN64
if ( bIsExplorerProcess )
{
# ifdef _WIN64
# else
if ( bIsExplorerProcess & & ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc )
{
POINT pt ;
pt . x = x ;
pt . y = y ;
@ -1991,6 +2025,7 @@ INT64 OwnerDrawSubclassProc(
@@ -1991,6 +2025,7 @@ INT64 OwnerDrawSubclassProc(
{
BOOL v12 = FALSE ;
if ( ( uMsg = = WM_DRAWITEM | | uMsg = = WM_MEASUREITEM ) & &
CImmersiveContextMenuOwnerDrawHelper_s_ContextMenuWndProcFunc & &
CImmersiveContextMenuOwnerDrawHelper_s_ContextMenuWndProcFunc (
hWnd ,
uMsg ,
@ -2040,6 +2075,8 @@ BOOL explorer_TrackPopupMenuExHook(
@@ -2040,6 +2075,8 @@ BOOL explorer_TrackPopupMenuExHook(
{
EnumPropsA ( hWnd , CheckIfImmersiveContextMenu ) ;
if ( IsImmersiveMenu )
{
if ( ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc )
{
POINT pt ;
pt . x = x ;
@ -2050,6 +2087,11 @@ BOOL explorer_TrackPopupMenuExHook(
@@ -2050,6 +2087,11 @@ BOOL explorer_TrackPopupMenuExHook(
& ( pt )
) ;
}
else
{
RemoveOwnerDrawFromMenu ( 0 , hMenu ) ;
}
}
IsImmersiveMenu = FALSE ;
}
b = TrackPopupMenuEx (
@ -2093,6 +2135,8 @@ BOOL pnidui_TrackPopupMenuHook(
@@ -2093,6 +2135,8 @@ BOOL pnidui_TrackPopupMenuHook(
{
EnumPropsA ( hWnd , CheckIfImmersiveContextMenu ) ;
if ( IsImmersiveMenu )
{
if ( ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc )
{
POINT pt ;
pt . x = x ;
@ -2103,6 +2147,11 @@ BOOL pnidui_TrackPopupMenuHook(
@@ -2103,6 +2147,11 @@ BOOL pnidui_TrackPopupMenuHook(
& ( pt )
) ;
}
else
{
RemoveOwnerDrawFromMenu ( 0 , hMenu ) ;
}
}
IsImmersiveMenu = FALSE ;
}
b = TrackPopupMenu (
@ -2146,6 +2195,8 @@ BOOL sndvolsso_TrackPopupMenuExHook(
@@ -2146,6 +2195,8 @@ BOOL sndvolsso_TrackPopupMenuExHook(
{
EnumPropsA ( hWnd , CheckIfImmersiveContextMenu ) ;
if ( IsImmersiveMenu )
{
if ( ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc )
{
POINT pt ;
pt . x = x ;
@ -2156,6 +2207,11 @@ BOOL sndvolsso_TrackPopupMenuExHook(
@@ -2156,6 +2207,11 @@ BOOL sndvolsso_TrackPopupMenuExHook(
& ( pt )
) ;
}
else
{
RemoveOwnerDrawFromMenu ( 0 , hMenu ) ;
}
}
IsImmersiveMenu = FALSE ;
}
@ -2232,6 +2288,8 @@ BOOL stobject_TrackPopupMenuExHook(
@@ -2232,6 +2288,8 @@ BOOL stobject_TrackPopupMenuExHook(
unknown_array = calloc ( 4 , sizeof ( INT64 ) ) ;
pt . x = x ;
pt . y = y ;
if ( ImmersiveContextMenuHelper_ApplyOwnerDrawToMenuFunc )
{
ImmersiveContextMenuHelper_ApplyOwnerDrawToMenuFunc (
hMenu ,
hWnd ,
@ -2239,6 +2297,7 @@ BOOL stobject_TrackPopupMenuExHook(
@@ -2239,6 +2297,7 @@ BOOL stobject_TrackPopupMenuExHook(
0xc ,
unknown_array
) ;
}
SetWindowSubclass ( hWnd , OwnerDrawSubclassProc , OwnerDrawSubclassProc , 0 ) ;
}
b = TrackPopupMenuEx (
@ -2253,11 +2312,14 @@ BOOL stobject_TrackPopupMenuExHook(
@@ -2253,11 +2312,14 @@ BOOL stobject_TrackPopupMenuExHook(
if ( bSkinMenus )
{
RemoveWindowSubclass ( hWnd , OwnerDrawSubclassProc , OwnerDrawSubclassProc ) ;
if ( ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc )
{
ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc (
hMenu ,
hWnd ,
& ( pt )
) ;
}
free ( unknown_array ) ;
}
}
@ -2289,6 +2351,8 @@ BOOL stobject_TrackPopupMenuHook(
@@ -2289,6 +2351,8 @@ BOOL stobject_TrackPopupMenuHook(
unknown_array = calloc ( 4 , sizeof ( INT64 ) ) ;
pt . x = x ;
pt . y = y ;
if ( ImmersiveContextMenuHelper_ApplyOwnerDrawToMenuFunc )
{
ImmersiveContextMenuHelper_ApplyOwnerDrawToMenuFunc (
hMenu ,
hWnd ,
@ -2296,6 +2360,7 @@ BOOL stobject_TrackPopupMenuHook(
@@ -2296,6 +2360,7 @@ BOOL stobject_TrackPopupMenuHook(
0xc ,
unknown_array
) ;
}
SetWindowSubclass ( hWnd , OwnerDrawSubclassProc , OwnerDrawSubclassProc , 0 ) ;
}
b = TrackPopupMenu (
@ -2311,11 +2376,14 @@ BOOL stobject_TrackPopupMenuHook(
@@ -2311,11 +2376,14 @@ BOOL stobject_TrackPopupMenuHook(
if ( bSkinMenus )
{
RemoveWindowSubclass ( hWnd , OwnerDrawSubclassProc , OwnerDrawSubclassProc ) ;
if ( ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc )
{
ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc (
hMenu ,
hWnd ,
& ( pt )
) ;
}
free ( unknown_array ) ;
}
}
@ -2346,6 +2414,8 @@ BOOL bthprops_TrackPopupMenuExHook(
@@ -2346,6 +2414,8 @@ BOOL bthprops_TrackPopupMenuExHook(
unknown_array = calloc ( 4 , sizeof ( INT64 ) ) ;
pt . x = x ;
pt . y = y ;
if ( ImmersiveContextMenuHelper_ApplyOwnerDrawToMenuFunc )
{
ImmersiveContextMenuHelper_ApplyOwnerDrawToMenuFunc (
hMenu ,
hWnd ,
@ -2353,6 +2423,7 @@ BOOL bthprops_TrackPopupMenuExHook(
@@ -2353,6 +2423,7 @@ BOOL bthprops_TrackPopupMenuExHook(
0xc ,
unknown_array
) ;
}
SetWindowSubclass ( hWnd , OwnerDrawSubclassProc , OwnerDrawSubclassProc , 0 ) ;
}
b = TrackPopupMenuEx (
@ -2367,11 +2438,14 @@ BOOL bthprops_TrackPopupMenuExHook(
@@ -2367,11 +2438,14 @@ BOOL bthprops_TrackPopupMenuExHook(
if ( bSkinMenus )
{
RemoveWindowSubclass ( hWnd , OwnerDrawSubclassProc , OwnerDrawSubclassProc ) ;
if ( ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc )
{
ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc (
hMenu ,
hWnd ,
& ( pt )
) ;
}
free ( unknown_array ) ;
}
}
@ -2698,9 +2772,13 @@ INT64 winrt_Windows_Internal_Shell_implementation_MeetAndChatManager_OnMessageHo
@@ -2698,9 +2772,13 @@ INT64 winrt_Windows_Internal_Shell_implementation_MeetAndChatManager_OnMessageHo
)
{
if ( ! bClockFlyoutOnWinC )
{
if ( winrt_Windows_Internal_Shell_implementation_MeetAndChatManager_OnMessageFunc )
{
return winrt_Windows_Internal_Shell_implementation_MeetAndChatManager_OnMessageFunc ( _this , a2 , a3 ) ;
}
return 0 ;
}
if ( a2 = = 786 & & a3 = = 107 )
{
POINT ptCursor ;
@ -3738,6 +3816,15 @@ void WINAPI LoadSettings(BOOL bIsExplorer)
@@ -3738,6 +3816,15 @@ void WINAPI LoadSettings(BOOL bIsExplorer)
& dwSize
) ;
dwSize = sizeof ( DWORD ) ;
RegQueryValueExW (
hKey ,
TEXT ( " EnableSymbolDownload " ) ,
0 ,
NULL ,
& bEnableSymbolDownload ,
& dwSize
) ;
dwSize = sizeof ( DWORD ) ;
dwTemp = 0 ;
RegQueryValueExW (
hKey ,
@ -5329,6 +5416,12 @@ DWORD Inject(BOOL bIsExplorer)
@@ -5329,6 +5416,12 @@ DWORD Inject(BOOL bIsExplorer)
sizeof ( symbols_addr )
) ;
if ( LoadSymbols ( & symbols_PTRS , hModule ) )
{
if ( ! bEnableSymbolDownload )
{
printf ( " Unable to load symbols; the program may have limited functionality. \n " ) ;
}
else
{
printf ( " Symbols have to be (re)downloaded... \n " ) ;
DownloadSymbolsParams * params = malloc ( sizeof ( DownloadSymbolsParams ) ) ;
@ -5336,6 +5429,7 @@ DWORD Inject(BOOL bIsExplorer)
@@ -5336,6 +5429,7 @@ DWORD Inject(BOOL bIsExplorer)
CreateThread ( 0 , 0 , DownloadSymbols , params , 0 , 0 ) ;
return 0 ;
}
}
else
{
printf ( " Loaded symbols \n " ) ;
@ -5444,43 +5538,43 @@ DWORD Inject(BOOL bIsExplorer)
@@ -5444,43 +5538,43 @@ DWORD Inject(BOOL bIsExplorer)
HANDLE hTwinuiPcshell = LoadLibraryW ( L " twinui.pcshell.dll " ) ;
if ( symbols_PTRS . twinui_pcshell_PTRS [ 0 ] ! = 0xFFFFFFFF )
if ( symbols_PTRS . twinui_pcshell_PTRS [ 0 ] & & symbols_PTRS . twinui_pcshell_PTRS [ 0 ] ! = 0xFFFFFFFF )
{
CImmersiveContextMenuOwnerDrawHelper_s_ContextMenuWndProcFunc = ( INT64 ( * ) ( HWND , int , HWND , int , BOOL * ) )
( ( uintptr_t ) hTwinuiPcshell + symbols_PTRS . twinui_pcshell_PTRS [ 0 ] ) ;
}
if ( symbols_PTRS . twinui_pcshell_PTRS [ 1 ] ! = 0xFFFFFFFF )
if ( symbols_PTRS . twinui_pcshell_PTRS [ 1 ] & & symbols_PTRS . twinui_pcshell_PTRS [ 1 ] ! = 0xFFFFFFFF )
{
CLauncherTipContextMenu_GetMenuItemsAsyncFunc = ( INT64 ( * ) ( void * , void * , void * * ) )
( ( uintptr_t ) hTwinuiPcshell + symbols_PTRS . twinui_pcshell_PTRS [ 1 ] ) ;
}
if ( symbols_PTRS . twinui_pcshell_PTRS [ 2 ] ! = 0xFFFFFFFF )
if ( symbols_PTRS . twinui_pcshell_PTRS [ 2 ] & & symbols_PTRS . twinui_pcshell_PTRS [ 2 ] ! = 0xFFFFFFFF )
{
ImmersiveContextMenuHelper_ApplyOwnerDrawToMenuFunc = ( INT64 ( * ) ( HMENU , HMENU , HWND , unsigned int , void * ) )
( ( uintptr_t ) hTwinuiPcshell + symbols_PTRS . twinui_pcshell_PTRS [ 2 ] ) ;
}
if ( symbols_PTRS . twinui_pcshell_PTRS [ 3 ] ! = 0xFFFFFFFF )
if ( symbols_PTRS . twinui_pcshell_PTRS [ 3 ] & & symbols_PTRS . twinui_pcshell_PTRS [ 3 ] ! = 0xFFFFFFFF )
{
ImmersiveContextMenuHelper_RemoveOwnerDrawFromMenuFunc = ( void ( * ) ( HMENU , HMENU , HWND ) )
( ( uintptr_t ) hTwinuiPcshell + symbols_PTRS . twinui_pcshell_PTRS [ 3 ] ) ;
}
if ( symbols_PTRS . twinui_pcshell_PTRS [ 4 ] ! = 0xFFFFFFFF )
if ( symbols_PTRS . twinui_pcshell_PTRS [ 4 ] & & symbols_PTRS . twinui_pcshell_PTRS [ 4 ] ! = 0xFFFFFFFF )
{
CLauncherTipContextMenu_ExecuteShutdownCommandFunc = ( void ( * ) ( void * , void * ) )
( ( uintptr_t ) hTwinuiPcshell + symbols_PTRS . twinui_pcshell_PTRS [ 4 ] ) ;
}
if ( symbols_PTRS . twinui_pcshell_PTRS [ 5 ] ! = 0xFFFFFFFF )
if ( symbols_PTRS . twinui_pcshell_PTRS [ 5 ] & & symbols_PTRS . twinui_pcshell_PTRS [ 5 ] ! = 0xFFFFFFFF )
{
CLauncherTipContextMenu_ExecuteCommandFunc = ( void ( * ) ( void * , int ) )
( ( uintptr_t ) hTwinuiPcshell + symbols_PTRS . twinui_pcshell_PTRS [ 5 ] ) ;
}
if ( symbols_PTRS . twinui_pcshell_PTRS [ 6 ] ! = 0xFFFFFFFF )
if ( symbols_PTRS . twinui_pcshell_PTRS [ 6 ] & & symbols_PTRS . twinui_pcshell_PTRS [ 6 ] ! = 0xFFFFFFFF )
{
CLauncherTipContextMenu_ShowLauncherTipContextMenuFunc = ( INT64 ( * ) ( void * , POINT * ) )
( ( uintptr_t ) hTwinuiPcshell + symbols_PTRS . twinui_pcshell_PTRS [ 6 ] ) ;
@ -5496,9 +5590,7 @@ DWORD Inject(BOOL bIsExplorer)
@@ -5496,9 +5590,7 @@ DWORD Inject(BOOL bIsExplorer)
}
}
if ( symbols_PTRS . twinui_pcshell_PTRS [ TWINUI_PCSHELL_SB_CNT - 1 ] ! = 0xFFFFFFFF )
{
if ( symbols_PTRS . twinui_pcshell_PTRS [ TWINUI_PCSHELL_SB_CNT - 1 ] )
if ( symbols_PTRS . twinui_pcshell_PTRS [ TWINUI_PCSHELL_SB_CNT - 1 ] & & symbols_PTRS . twinui_pcshell_PTRS [ TWINUI_PCSHELL_SB_CNT - 1 ] ! = 0xFFFFFFFF )
{
winrt_Windows_Internal_Shell_implementation_MeetAndChatManager_OnMessageFunc = ( INT64 ( * ) ( void * , POINT * ) )
( ( uintptr_t ) hTwinuiPcshell + symbols_PTRS . twinui_pcshell_PTRS [ TWINUI_PCSHELL_SB_CNT - 1 ] ) ;
@ -5513,7 +5605,6 @@ DWORD Inject(BOOL bIsExplorer)
@@ -5513,7 +5605,6 @@ DWORD Inject(BOOL bIsExplorer)
return rv ;
}
}
}
VnPatchIAT ( hTwinuiPcshell , " API-MS-WIN-CORE-REGISTRY-L1-1-0.DLL " , " RegGetValueW " , twinuipcshell_RegGetValueW ) ;
printf ( " Setup twinui.pcshell functions done \n " ) ;
@ -5830,31 +5921,38 @@ void StartMenu_LoadSettings(BOOL bRestartIfChanged)
@@ -5830,31 +5921,38 @@ void StartMenu_LoadSettings(BOOL bRestartIfChanged)
}
}
static INT64 ( * StartDocked_LauncherFrame_OnVisibilityChangedFunc ) ( void * , INT64 , void * ) ;
static INT64 ( * StartDocked_LauncherFrame_OnVisibilityChangedFunc ) ( void * , INT64 , void * ) = NULL ;
static INT64 ( * StartDocked_LauncherFrame_ShowAllAppsFunc ) ( void * _this ) ;
static INT64 ( * StartDocked_LauncherFrame_ShowAllAppsFunc ) ( void * _this ) = NULL ;
INT64 StartDocked_LauncherFrame_OnVisibilityChangedHook ( void * _this , INT64 a2 , void * VisibilityChangedEventArguments )
{
INT64 r = StartDocked_LauncherFrame_OnVisibilityChangedFunc ( _this , a2 , VisibilityChangedEventArguments ) ;
INT64 r = 0 ;
if ( StartDocked_LauncherFrame_OnVisibilityChangedFunc )
{
r = StartDocked_LauncherFrame_OnVisibilityChangedFunc ( _this , a2 , VisibilityChangedEventArguments ) ;
}
if ( StartMenu_ShowAllApps )
{
//if (VisibilityChangedEventArguments_GetVisible(VisibilityChangedEventArguments))
{
if ( StartDocked_LauncherFrame_ShowAllAppsFunc )
{
StartDocked_LauncherFrame_ShowAllAppsFunc ( _this ) ;
}
}
}
return r ;
}
INT64 ( * StartDocked_SystemListPolicyProvider_GetMaximumFrequentAppsFunc ) ( void * ) ;
INT64 ( * StartDocked_SystemListPolicyProvider_GetMaximumFrequentAppsFunc ) ( void * ) = NULL ;
INT64 StartDocked_SystemListPolicyProvider_GetMaximumFrequentAppsHook ( void * _this )
{
return StartMenu_maximumFreqApps ;
}
INT64 ( * StartDocked_StartSizingFrame_StartSizingFrameFunc ) ( void * _this ) ;
INT64 ( * StartDocked_StartSizingFrame_StartSizingFrameFunc ) ( void * _this ) = NULL ;
INT64 StartDocked_StartSizingFrame_StartSizingFrameHook ( void * _this )
{
@ -6390,12 +6488,12 @@ void InjectStartMenu()
@@ -6390,12 +6488,12 @@ void InjectStartMenu()
LoadLibraryW ( L " StartDocked.dll " ) ;
HANDLE hStartDocked = GetModuleHandle ( L " StartDocked.dll " ) ;
if ( dwVal1 ! = 0xFFFFFFFF )
if ( dwVal1 & & dwVal1 ! = 0xFFFFFFFF )
{
StartDocked_LauncherFrame_ShowAllAppsFunc = ( INT64 ( * ) ( void * ) )
( ( uintptr_t ) hStartDocked + dwVal1 ) ;
}
if ( dwVal2 ! = 0xFFFFFFFF )
if ( dwVal2 & & dwVal2 ! = 0xFFFFFFFF )
{
StartDocked_LauncherFrame_OnVisibilityChangedFunc = ( INT64 ( * ) ( void * , INT64 , void * ) )
( ( uintptr_t ) hStartDocked + dwVal2 ) ;
@ -6410,7 +6508,7 @@ void InjectStartMenu()
@@ -6410,7 +6508,7 @@ void InjectStartMenu()
return rv ;
}
}
if ( dwVal3 ! = 0xFFFFFFFF )
if ( dwVal3 & & dwVal3 ! = 0xFFFFFFFF )
{
StartDocked_SystemListPolicyProvider_GetMaximumFrequentAppsFunc = ( INT64 ( * ) ( void * , INT64 , void * ) )
( ( uintptr_t ) hStartDocked + dwVal3 ) ;
@ -6425,7 +6523,7 @@ void InjectStartMenu()
@@ -6425,7 +6523,7 @@ void InjectStartMenu()
return rv ;
}
}
if ( dwVal4 ! = 0xFFFFFFFF )
if ( dwVal4 & & dwVal4 ! = 0xFFFFFFFF )
{
/*StartDocked_StartSizingFrame_StartSizingFrameFunc = (INT64(*)(void*, INT64, void*))
( ( uintptr_t ) hStartDocked + dwVal4 ) ;