Я хочу отправить команды MouseMove приложению, написанному на Unity с использованием MFC (C ++). По сути, я посылаю щелчки мышью, и это работает очень хорошо. Смотрите код:
HWND window = GetCurrentTargetHandle();
PostMessage(window, WM_LBUTTONDOWN, MK_LBUTTON, 0);
PostMessage(window, WM_LBUTTONUP, MK_LBUTTON, 0);
Теперь я хочу отправить движения мыши, чтобы изменить вид. Например, если я двигаю свою физическую мышь, хорошо, это работает. Но, если я пытаюсь отправить MouseMove в окно Unity, это ничего не делает.
Я попробовал:
INPUT input;
::ZeroMemory(&input, sizeof(INPUT));
input.type = INPUT_MOUSE;
input.mi.dx = x;
input.mi.dy = current_y;
input.mi.dwFlags = (MOUSEEVENTF_ABSOLUTE | MOUSEEVENTF_MOVE);
::SendInput(1, &input, sizeof(INPUT));
Также:
POINT lp;
GetCursorPos(&lp);
::SendMessage(window, MOUSEEVENTF_MOVE, MAKEWPARAM(x, lp.y), MAKELPARAM(x, lp.y));
Кто-нибудь знает, что я должен делать?
Благодарю.
Задача ещё не решена.