Я сейчас пытаюсь отправить правую кнопку мыши на компьютерное произведение, не затрагивая мой видимый указатель мыши.
Я не уверен, что игра просто не нравится, или если я делаю что-то неправильно. Вот короткая версия моего кода:C++: Отправить мышь Нажмите, используя PostMessage/SendMessage
WORD tx = 500;
WORD ty = 500;
HWND windowHandle = FindWindow(NULL,TEXT("Game title"));
if (windowHandle != 0) {
SendMessage(windowHandle, WM_RBUTTONDOWN, MK_RBUTTON, MAKELPARAM(tx, ty));
Sleep(50);
SendMessage(windowHandle, WM_RBUTTONUP, MK_RBUTTON, MAKELPARAM(tx, ty));
Sleep(50);
std::cout << "message sent..." << std::endl;
}
Я пытался много раз и убедился, что окно игры находится на вершине и активных и т.д., но игра не будет зарегистрировать нажмите .. (» сообщение отправлено ... »печатается каждый раз, хотя)
Я знаю, что я мог бы также использовать SendInput, но сначала я хочу убедиться, что это действительно невозможно с помощью PostMessage.
mouse_event просто щелкает текущее положение мыши и, когда я объединить его с MOUSEEVENTF_MOVE он перемещает свой видимый указатель мыши. :/Является ли моя игра причиной этого или это нормальное поведение? – Forivin
Почему вы объединяете его с MOUSEEVENTF_MOVE? Я действительно закодировал эту длинную спину для какого-то проекта, поэтому не помню, использовал ли я MOVE + CLICK или просто CLICK. Однако убедитесь, что вы предоставили координаты в диапазоне 0-65535 для обеих осей, а не для разрешения монитора. – AsG
Я действительно хотел подражать RDP-приложению, поэтому в моем случае указатель мыши, перемещающийся к месту щелчка, является желательным поведением. – AsG