{\r
if (i_kid->Flags & KEYBOARD_INPUT_DATA::E1) {\r
Acquire a(&m_cskidq);\r
- INPUT kid[3];\r
- int i = 0;\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
- kid[i].mi.dy = 0;\r
- kid[i].mi.time = 0;\r
- kid[i].mi.mouseData = 0;\r
- kid[i].mi.dwExtraInfo = 0;\r
+ INPUT kid[2];\r
+ int count = 1;\r
+\r
+ kid[0].type = INPUT_MOUSE;\r
+ kid[0].mi.dx = 0;\r
+ kid[0].mi.dy = 0;\r
+ kid[0].mi.time = 0;\r
+ kid[0].mi.mouseData = 0;\r
+ kid[0].mi.dwExtraInfo = 0;\r
switch (i_kid->MakeCode) {\r
case 1:\r
if (i_kid->Flags & KEYBOARD_INPUT_DATA::BREAK) {\r
- kid[i].mi.dwFlags = MOUSEEVENTF_LEFTUP;\r
+ kid[0].mi.dwFlags = MOUSEEVENTF_LEFTUP;\r
} else {\r
- kid[i].mi.dwFlags = MOUSEEVENTF_LEFTDOWN;\r
+ kid[0].mi.dwFlags = MOUSEEVENTF_LEFTDOWN;\r
}\r
break;\r
case 2:\r
if (i_kid->Flags & KEYBOARD_INPUT_DATA::BREAK) {\r
- kid[i].mi.dwFlags = MOUSEEVENTF_RIGHTUP;\r
+ kid[0].mi.dwFlags = MOUSEEVENTF_RIGHTUP;\r
} else {\r
- kid[i].mi.dwFlags = MOUSEEVENTF_RIGHTDOWN;\r
+ kid[0].mi.dwFlags = MOUSEEVENTF_RIGHTDOWN;\r
}\r
break;\r
case 3:\r
if (i_kid->Flags & KEYBOARD_INPUT_DATA::BREAK) {\r
- kid[i].mi.dwFlags = MOUSEEVENTF_MIDDLEUP;\r
+ kid[0].mi.dwFlags = MOUSEEVENTF_MIDDLEUP;\r
} else {\r
- kid[i].mi.dwFlags = MOUSEEVENTF_MIDDLEDOWN;\r
+ kid[0].mi.dwFlags = MOUSEEVENTF_MIDDLEDOWN;\r
}\r
break;\r
case 4:\r
if (i_kid->Flags & KEYBOARD_INPUT_DATA::BREAK) {\r
return 1;\r
} else {\r
- kid[i].mi.mouseData = WHEEL_DELTA;\r
- kid[i].mi.dwFlags = MOUSEEVENTF_WHEEL;\r
+ kid[0].mi.mouseData = WHEEL_DELTA;\r
+ kid[0].mi.dwFlags = MOUSEEVENTF_WHEEL;\r
}\r
break;\r
case 5:\r
if (i_kid->Flags & KEYBOARD_INPUT_DATA::BREAK) {\r
return 1;\r
} else {\r
- kid[i].mi.mouseData = -WHEEL_DELTA;\r
- kid[i].mi.dwFlags = MOUSEEVENTF_WHEEL;\r
+ kid[0].mi.mouseData = -WHEEL_DELTA;\r
+ kid[0].mi.dwFlags = MOUSEEVENTF_WHEEL;\r
}\r
break;\r
case 6:\r
- kid[i].mi.mouseData = XBUTTON1;\r
+ kid[0].mi.mouseData = XBUTTON1;\r
if (i_kid->Flags & KEYBOARD_INPUT_DATA::BREAK) {\r
- kid[i].mi.dwFlags = MOUSEEVENTF_XUP;\r
+ kid[0].mi.dwFlags = MOUSEEVENTF_XUP;\r
} else {\r
- kid[i].mi.dwFlags = MOUSEEVENTF_XDOWN;\r
+ kid[0].mi.dwFlags = MOUSEEVENTF_XDOWN;\r
}\r
break;\r
case 7:\r
- kid[i].mi.mouseData = XBUTTON2;\r
+ kid[0].mi.mouseData = XBUTTON2;\r
if (i_kid->Flags & KEYBOARD_INPUT_DATA::BREAK) {\r
- kid[i].mi.dwFlags = MOUSEEVENTF_XUP;\r
+ kid[0].mi.dwFlags = MOUSEEVENTF_XUP;\r
} else {\r
- kid[i].mi.dwFlags = MOUSEEVENTF_XDOWN;\r
+ kid[0].mi.dwFlags = MOUSEEVENTF_XDOWN;\r
}\r
break;\r
default:\r
return 1;\r
break;\r
}\r
- if (i == 1) {\r
- i++;\r
- kid[i].type = INPUT_MOUSE;\r
- kid[i].mi.dx = 65535 * pt.x / GetSystemMetrics(SM_CXVIRTUALSCREEN);\r
- kid[i].mi.dy = 65535 * 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
+ if (!(i_kid->Flags & KEYBOARD_INPUT_DATA::BREAK) &&\r
+ i_kid->MakeCode != 4 && i_kid->MakeCode != 5) {\r
+ HWND hwnd;\r
+ POINT pt;\r
+\r
+ if (GetCursorPos(&pt) && (hwnd = WindowFromPoint(pt))) {\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[0].mi.dx = 65535 * m_msllHookCurrent.pt.x / GetSystemMetrics(SM_CXVIRTUALSCREEN);\r
+ kid[0].mi.dy = 65535 * m_msllHookCurrent.pt.y / GetSystemMetrics(SM_CYVIRTUALSCREEN);\r
+ kid[0].mi.dwFlags |= MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_VIRTUALDESK;\r
+\r
+ kid[1].type = INPUT_MOUSE;\r
+ kid[1].mi.dx = 65535 * pt.x / GetSystemMetrics(SM_CXVIRTUALSCREEN);\r
+ kid[1].mi.dy = 65535 * pt.y / GetSystemMetrics(SM_CYVIRTUALSCREEN);\r
+ kid[1].mi.time = 0;\r
+ kid[1].mi.mouseData = 0;\r
+ kid[1].mi.dwExtraInfo = 0;\r
+ kid[1].mi.dwFlags = MOUSEEVENTF_MOVE | MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_VIRTUALDESK;\r
+\r
+ count = 2;\r
+ }\r
}\r
- SendInput(i + 1, &kid[0], sizeof(kid[0]));\r
+ SendInput(count, &kid[0], sizeof(kid[0]));\r
} else {\r
INPUT kid;\r
\r