1
0
mirror of synced 2025-01-20 01:32:51 +01:00

Exit key wont work if debug build and x32dbg or x64dbg is open

This commit is contained in:
Aaron M 2021-09-19 21:07:13 +12:00
parent 95a17599ec
commit 4b18dff656

View File

@ -13,6 +13,8 @@
#pragma optimize("", off)
static DWORD xdbg;
static HWND g_HWND = NULL;
static DWORD ProcessID;
static bool DisableGhosting;
static bool EnableSuspend;
@ -155,13 +157,22 @@ static std::string getFileName(std::string path)
return filename;
}
static BOOL CALLBACK EnumWindowsProcMy(HWND hwnd, LPARAM lParam)
{
DWORD lpdwProcessId;
GetWindowThreadProcessId(hwnd, &lpdwProcessId);
if (lpdwProcessId == lParam)
{
g_HWND = hwnd;
return FALSE;
}
return TRUE;
}
DWORD WINAPI GlobalGameThread(__in LPVOID lpParameter)
{
while (true)
{
if (GetAsyncKeyState(ExitKeyValue))
QuitGame();
if (!SuspendInit)
{
SuspendInit = true;
@ -174,6 +185,22 @@ DWORD WINAPI GlobalGameThread(__in LPVOID lpParameter)
ProcessID = MyGetProcessId(tchar);
}
if (GetAsyncKeyState(ExitKeyValue))
{
#ifdef _DEBUG
#if _M_IX86
xdbg = MyGetProcessId(L"x32dbg.exe");
#else
xdbg = MyGetProcessId(L"x64dbg.exe");
#endif
EnumWindows(EnumWindowsProcMy, xdbg);
#endif
if (g_HWND == NULL)
QuitGame();
else
g_HWND = NULL;
}
if (GetAsyncKeyState(PauseKeyValue))
{
if (!SuspendPressedOn)