From 9f206897ad88192edca8dde625cce52553f05d75 Mon Sep 17 00:00:00 2001 From: narzoul Date: Sun, 22 May 2016 22:21:08 +0200 Subject: [PATCH] Disabled the IgnoreAltTab shim --- DDrawCompat/CompatHooks.cpp | 26 +++++++++++++++++++++++++ DDrawCompat/CompatHooks.h | 6 ++++++ DDrawCompat/DDrawCompat.vcxproj | 2 ++ DDrawCompat/DDrawCompat.vcxproj.filters | 6 ++++++ DDrawCompat/DllMain.cpp | 2 ++ 5 files changed, 42 insertions(+) create mode 100644 DDrawCompat/CompatHooks.cpp create mode 100644 DDrawCompat/CompatHooks.h diff --git a/DDrawCompat/CompatHooks.cpp b/DDrawCompat/CompatHooks.cpp new file mode 100644 index 0000000..aef9df2 --- /dev/null +++ b/DDrawCompat/CompatHooks.cpp @@ -0,0 +1,26 @@ +#define WIN32_LEAN_AND_MEAN + +#include + +#include "CompatHooks.h" +#include "Hook.h" + +namespace +{ + HHOOK WINAPI setWindowsHookExA(int idHook, HOOKPROC lpfn, HINSTANCE hMod, DWORD dwThreadId) + { + if (WH_KEYBOARD_LL == idHook && hMod && GetModuleHandle("AcGenral") == hMod) + { + return nullptr; + } + return CALL_ORIG_FUNC(SetWindowsHookExA)(idHook, lpfn, hMod, dwThreadId); + } +} + +namespace CompatHooks +{ + void installHooks() + { + HOOK_FUNCTION(user32, SetWindowsHookExA, setWindowsHookExA); + } +} diff --git a/DDrawCompat/CompatHooks.h b/DDrawCompat/CompatHooks.h new file mode 100644 index 0000000..3c0e52c --- /dev/null +++ b/DDrawCompat/CompatHooks.h @@ -0,0 +1,6 @@ +#pragma once + +namespace CompatHooks +{ + void installHooks(); +} diff --git a/DDrawCompat/DDrawCompat.vcxproj b/DDrawCompat/DDrawCompat.vcxproj index ff1c001..0ab3742 100644 --- a/DDrawCompat/DDrawCompat.vcxproj +++ b/DDrawCompat/DDrawCompat.vcxproj @@ -158,6 +158,7 @@ + @@ -200,6 +201,7 @@ + diff --git a/DDrawCompat/DDrawCompat.vcxproj.filters b/DDrawCompat/DDrawCompat.vcxproj.filters index 9afef54..0f8d7b5 100644 --- a/DDrawCompat/DDrawCompat.vcxproj.filters +++ b/DDrawCompat/DDrawCompat.vcxproj.filters @@ -132,6 +132,9 @@ Header Files + + Header Files + @@ -218,6 +221,9 @@ Source Files + + Source Files + diff --git a/DDrawCompat/DllMain.cpp b/DDrawCompat/DllMain.cpp index d8835fa..1f8bb31 100644 --- a/DDrawCompat/DllMain.cpp +++ b/DDrawCompat/DllMain.cpp @@ -11,6 +11,7 @@ #include "CompatDirectDrawPalette.h" #include "CompatFontSmoothing.h" #include "CompatGdi.h" +#include "CompatHooks.h" #include "CompatRegistry.h" #include "CompatPtr.h" #include "CompatVtable.h" @@ -185,6 +186,7 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID /*lpvReserved*/) SetProcessAffinityMask(GetCurrentProcess(), 1); SetThemeAppProperties(0); CompatFontSmoothing::g_origSystemSettings = CompatFontSmoothing::getSystemSettings(); + CompatHooks::installHooks(); Time::init(); if (Compat::origProcs.SetAppCompatData)