Acquire a(&m_cskidq);\r
INPUT kid[3];\r
int i = 0;\r
-\r
- if (m_dragging && !(i_kid->Flags & KEYBOARD_INPUT_DATA::BREAK)) {\r
- kid[i].type = INPUT_MOUSE;\r
- kid[i].mi.dx = 65535 * m_msllHookCurrent.pt.x / GetSystemMetrics(SM_CXVIRTUALSCREEN);\r
- kid[i].mi.dy = 65535 * m_msllHookCurrent.pt.y / GetSystemMetrics(SM_CYVIRTUALSCREEN);\r
- kid[i].mi.time = 0;\r
- kid[i].mi.mouseData = 0;\r
- kid[i].mi.dwExtraInfo = 0;\r
- kid[i].mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_VIRTUALDESK;\r
- i++;\r
+ POINT pt;\r
+ GetCursorPos(&pt);\r
+\r
+ if (!(i_kid->Flags & KEYBOARD_INPUT_DATA::BREAK) &&\r
+ i_kid->MakeCode != 4 && i_kid->MakeCode != 5) {\r
+ HWND hwnd = WindowFromPoint(pt);\r
+ if (hwnd != NULL) {\r
+ _TCHAR className[GANA_MAX_ATOM_LENGTH];\r
+ if (GetClassName(hwnd, className, NUMBER_OF(className))) {\r
+ if (_tcsicmp(className, _T("ConsoleWindowClass")) == 0) {\r
+ SetForegroundWindow(hwnd);\r
+ }\r
+ }\r
+ }\r
+ if (m_dragging) {\r
+ kid[i].type = INPUT_MOUSE;\r
+ kid[i].mi.dx = 65535 * m_msllHookCurrent.pt.x / GetSystemMetrics(SM_CXVIRTUALSCREEN);\r
+ kid[i].mi.dy = 65535 * m_msllHookCurrent.pt.y / GetSystemMetrics(SM_CYVIRTUALSCREEN);\r
+ kid[i].mi.time = 0;\r
+ kid[i].mi.mouseData = 0;\r
+ kid[i].mi.dwExtraInfo = 0;\r
+ kid[i].mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_VIRTUALDESK;\r
+ i++;\r
+ }\r
}\r
kid[i].type = INPUT_MOUSE;\r
kid[i].mi.dx = 0;\r
break;\r
}\r
if (i == 1) {\r
- POINT pt;\r
- GetCursorPos(&pt);\r
i++;\r
kid[i].type = INPUT_MOUSE;\r
kid[i].mi.dx = 65535 * pt.x / GetSystemMetrics(SM_CXVIRTUALSCREEN);\r