Member 11543226 Ответов: 2

Как получить кординаты мыши, когда моя мышь щелкает где-то?


Я хочу получить координаты x , y указателя мыши, когда моя мышь щелкает в любом месте экрана, она должна быть независимой от формы windows .
например, если я щелкну мышью в блокноте , он должен дать мне кординаты, я попробовал следовать, но он дает кординаты только тогда, когда я щелкнул в своей форме.

пожалуйста, предложите мне выход из этого вопроса.
спасибо.

Что я уже пробовал:

private void Form1_MouseClick(object sender, MouseEventArgs e)
{
string x_cord = Cursor.Position.X.ToString();
string y_cord = Cursor.Position.Y.ToString();
MessageBox.Show("cordinates are " + x_cord +","+ y_cord);
}

2 Ответов

Рейтинг:
2

OriginalGriff

Это нехорошо, совсем нехорошо. Вы говорите о перехвате действий мыши, которые не предназначены для вашей формы, и это не тот способ, которым все это должно работать.
В результате это трудно. Очень трудный. И к тому же опасно...
Вы можете это сделать, но вам нужен глобальный крюк: Глобальные Обработчики Стекла [^]
Имейте в виду: если вы ошибетесь - даже немного - вы можете сделать всю вашу систему нестабильной и "вызвать потерю данных".
Подумайте дважды, прежде чем сделать это: вам, вероятно, придется перезагрузить свой компьютер довольно много раз в процессе разработки, и я бы рекомендовал еще более строгую процедуру резервного копирования, чем обычно (и это от кого-то, чья система делает инкременты каждый час...


Рейтинг:
0

Varun_Kumar

Чтобы получить положение мыши, пожалуйста, проверьте

Мышь.Метод GetPosition (IInputElement) (System.Окна.Ввод)[^]