2015-05-15 3 views
3

Я пытаюсь получить положение курсора с дисплея с несколькими мониторами. ИспользованиеПолучить позицию курсора на нескольких мониторах?

Point cursorPosition = Cursor.Position; 

Возвращает положение курсора относительно монитора, в котором он находится в данный момент. Если бы у меня было два монитора, и я использовал приведенные выше строки кода, и моя мышь была на моем втором мониторе (что справа от моего первого монитора), и я нарисовал курсор к изображению, он появится слева монитор на боковой стороне, где он должен находиться на мониторе правой руки.

EDIT:

Я принимаю скриншот всех моих мониторов и хотел бы добавить курсор к Bitmap, однако с помощью Cursor.Position поместит курсор на «левой стороне» Монитор Снимок экрана Растровый рисунок, даже если курсор находился на мониторе правой руки.

Благодаря

+0

Как ты рисуешь? Все мониторы имеют одно координатное пространство. – SLaks

+0

Вы можете получить разрешение каждого монитора и нормализовать положение мыши до полного разрешения экрана? –

+0

@SLaks 'Cursor.Position' всегда относится к текущему экрану, а не к рабочему столу/экрану. Он сбрасывается на 0/0 при переходе на новый дисплей. –

ответ

3

Вы можете получить экран, где находится курсор:

var screen = Screen.FromPoint(Cursor.Position); 

Примите экран во внимание, прежде чем отобразить изображение

+0

Я, вероятно, должен был быть более ясным в своем вопросе. Я снимаю скриншот экрана (ов), и я получаю размер VirtualScreen (все мои мониторы как один). Я хочу поместить курсор в правильное положение. Это может помочь, если это произойдет, я отправлю свой ответ. –

Смежные вопросы