1
0
mirror of https://github.com/valinet/ExplorerPatcher.git synced 2024-11-14 11:07:36 +01:00

Taskbar10: Fix new IME context menu on 22H2

This commit is contained in:
Amrsatrio 2023-09-20 23:09:50 +07:00
parent 3be4aabdb5
commit 82556f08e6
2 changed files with 17 additions and 2 deletions

View File

@ -11115,7 +11115,10 @@ DWORD Inject(BOOL bIsExplorer)
if (IsWindows11())
{
HANDLE hInputSwitch = LoadLibraryW(L"InputSwitch.dll");
printf("[IME] Context menu patch status: %d\n", PatchContextMenuOfNewMicrosoftIME(NULL));
if (bOldTaskbar)
{
printf("[IME] Context menu patch status: %d\n", PatchContextMenuOfNewMicrosoftIME(NULL));
}
if (hInputSwitch)
{
VnPatchIAT(hInputSwitch, "user32.dll", "TrackPopupMenuEx", inputswitch_TrackPopupMenuExHook);

View File

@ -536,7 +536,19 @@ inline BOOL WINAPI PatchContextMenuOfNewMicrosoftIME(BOOL* bFound)
{
// huge thanks to @Simplestas: https://github.com/valinet/ExplorerPatcher/issues/598
if (bFound) *bFound = FALSE;
const DWORD patch_from = 0x50653844, patch_to = 0x54653844; // cmp byte ptr [rbp+50h], r12b
DWORD patch_from, patch_to;
if (IsWindows11Version22H2OrHigher())
{
// cmp byte ptr [rbp+40h+arg_0], r13b
patch_from = 0x506D3844;
patch_to = 0x546D3844;
}
else
{
// cmp byte ptr [rbp+50h], r12b
patch_from = 0x50653844;
patch_to = 0x54653844;
}
HMODULE hInputSwitch = NULL;
if (!GetModuleHandleExW(0, L"InputSwitch.dll", &hInputSwitch))
{