Получение координат мыши по щелчку мыши в C # - PullRequest
2 голосов
/ 28 июня 2010

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

protected override void OnMouseMove(MouseEventArgs mouseEv) 
{ 
    txtMouseX.Text = mouseEv.X.ToString(); 
    txtMouseY.Text = mouseEv.Y.ToString(); 
}

Это указывает мне верное направление, теперь я знаю, как я могу получить координаты X и Yмыши, но я не знаю, как вызвать функцию или что-нибудь по щелчку мыши, если приложение работает в фоновом режиме.Кроме того, похоже, что этот код работает только в той форме, в которой он запущен, а не для всего экрана?

Любая помощь приветствуется, ура.

Ответы [ 3 ]

1 голос
/ 28 июня 2010

Вам понадобится глобальный хук. Вот статья проекта кода с библиотекой, которая делает то, что вы ищете: Глобальная библиотека мыши и клавиатуры

0 голосов
/ 06 октября 2011

Посмотрите на эту библиотеку http://globalmousekeyhook.codeplex.com/. Позволяет отслеживать всю систему координат мыши, даже если ваше приложение неактивно (в трее).

0 голосов
/ 28 июня 2010

Вы можете использовать Win32 API GetCursorPos, чтобы получить положение вашей мыши в любое время. Вот пример кода для этого: -

Dim MyPointAPI As POINTAPI

Частный тип POINTAPI X как долго Y как долго Тип конца

Закрытое объявление функции GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long

Public Sub Timer1_Timer () l = GetCursorPos (MyPointAPI) Label1.Caption = CStr (MyPointAPI.X) & "," & CStr (MyPointAPI.Y) End Sub

...