Я сделал немало исследований в этом. Есть программы, такие как Mousinity, которые допускают «обёртывание мышью». В случае, если вы знаете его по другому термину, именно тогда указатель мыши исчезнет с одной стороны экрана и появится на другой стороне экрана.
Тем не менее, все программы, которые делают это, не смогли включить один важный элемент в свой список функций: настройки нескольких мониторов. Я устал от загрузки совершенно чужого программного обеспечения только для того, чтобы оно не работало с моей установкой.
Недостаток этого вопроса таков:
Есть ли способ управления поведением указателя мыши с помощью какого-либо вызова API для Windows? РЕДАКТИРОВАТЬ: более конкретно, как API обрабатывает несколько мониторов? Где находится начало координатной плоскости?
Хотя я понимаю, что это будет намного сложнее, вот мой псевдокод для того, что я пытаюсь сделать:
if (mouse_position == side_of_screen_of_monitor1 && Mouse_is_being_moved off screen)
{
mouse_position == opposite_side_of_screen_of_monitor2
}
Начало координат — верхний левый угол основного монитора. Если вы поместили монитор слева от основного монитора, координаты X на этом мониторе будут отрицательными. Если монитор находится над или частично над основным монитором, их координаты y в этой области будут отрицательными.
GetSystemMetrics также имеет константы, которые относятся только к системе с несколькими мониторами. SM_XVIRTUALSCREEN и SM_YVIRTUALSCREEN определяют верхний левый угол виртуального экрана, SM_CXVIRTUALSCREEN и SM_CYVIRTUALSCREEN — вертикальные и горизонтальные измерения виртуального экрана.
Подробнее смотрите здесь:
Для вашей задачи я думаю, что вам, вероятно, нужно думать только о координатах виртуального экрана.
Других решений пока нет …