mirror of
https://github.com/FunkyFr3sh/cnc-ddraw.git
synced 2025-03-25 01:57:47 +01:00
add better forground window detection and always enable new GetKeyState hooks
This commit is contained in:
parent
c8d4cd997e
commit
f57055fd8c
@ -8,6 +8,7 @@
|
|||||||
HMODULE WINAPI util_enumerate_modules(_In_opt_ HMODULE hModuleLast);
|
HMODULE WINAPI util_enumerate_modules(_In_opt_ HMODULE hModuleLast);
|
||||||
BOOL util_is_bad_read_ptr(void* p);
|
BOOL util_is_bad_read_ptr(void* p);
|
||||||
BOOL util_is_minimized(HWND hwnd);
|
BOOL util_is_minimized(HWND hwnd);
|
||||||
|
BOOL util_in_foreground();
|
||||||
BOOL util_is_avx_supported();
|
BOOL util_is_avx_supported();
|
||||||
void util_limit_game_ticks();
|
void util_limit_game_ticks();
|
||||||
void util_update_bnet_pos(int newX, int newY);
|
void util_update_bnet_pos(int newX, int newY);
|
||||||
|
@ -100,6 +100,13 @@ BOOL util_is_minimized(HWND hwnd)
|
|||||||
return IsIconic(hwnd) || (real_GetClientRect(hwnd, &rc) && (rc.right - rc.left == 0 || rc.bottom - rc.top == 0));
|
return IsIconic(hwnd) || (real_GetClientRect(hwnd, &rc) && (rc.right - rc.left == 0 || rc.bottom - rc.top == 0));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOOL util_in_foreground()
|
||||||
|
{
|
||||||
|
DWORD process_id = 0;
|
||||||
|
|
||||||
|
return GetWindowThreadProcessId(real_GetForegroundWindow(), &process_id) && process_id == GetCurrentProcessId();
|
||||||
|
}
|
||||||
|
|
||||||
BOOL util_is_avx_supported()
|
BOOL util_is_avx_supported()
|
||||||
{
|
{
|
||||||
const DWORD XMM_STATE_BIT = 1 << 1;
|
const DWORD XMM_STATE_BIT = 1 << 1;
|
||||||
|
@ -718,10 +718,9 @@ BOOL WINAPI fake_PeekMessageA(LPMSG lpMsg, HWND hWnd, UINT wMsgFilterMin, UINT w
|
|||||||
|
|
||||||
SHORT WINAPI fake_GetKeyState(int nVirtKey)
|
SHORT WINAPI fake_GetKeyState(int nVirtKey)
|
||||||
{
|
{
|
||||||
if (g_config.infantryhack && g_ddraw && g_ddraw->hwnd)
|
if (g_config.windowed && g_ddraw && g_ddraw->hwnd && !util_in_foreground())
|
||||||
{
|
{
|
||||||
if (real_GetForegroundWindow() != g_ddraw->hwnd)
|
return 0;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return real_GetKeyState(nVirtKey);
|
return real_GetKeyState(nVirtKey);
|
||||||
@ -729,10 +728,9 @@ SHORT WINAPI fake_GetKeyState(int nVirtKey)
|
|||||||
|
|
||||||
SHORT WINAPI fake_GetAsyncKeyState(int vKey)
|
SHORT WINAPI fake_GetAsyncKeyState(int vKey)
|
||||||
{
|
{
|
||||||
if (g_config.infantryhack && g_ddraw && g_ddraw->hwnd)
|
if (g_config.windowed && g_ddraw && g_ddraw->hwnd && !util_in_foreground())
|
||||||
{
|
{
|
||||||
if (real_GetForegroundWindow() != g_ddraw->hwnd)
|
return 0;
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return real_GetAsyncKeyState(vKey);
|
return real_GetAsyncKeyState(vKey);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user