2016-12-20 2 views
1

Я не понимаю, как получить координаты относительно активного окна ... У меня есть программа, которая продолжает обновлять метку, содержащую координаты положения мыши, I хотите, чтобы координаты были относительно активного окна. (например, я запускаю программу, я нажимаю на блокнот -> указанные координаты относятся к окну блокнота). Спасибо.Получить координаты мыши относительно активного окна

+1

Как насчет ['Cursor.Position'] (https://msdn.microsoft.com/en-us/library/system.windows.forms.cursor.position.aspx) плюс [GetForegroundWindow и GetWindowRect] (http: //stackoverflow.com/questions/5878963/getting-active-window-coordinates-and-height-width-in-c-sharp) – Blorgbeard

+1

Или используйте ['ScreenToClient'] (http://www.pinvoke.net/ default.aspx/user32.screentoclient) вместо вычисления из 'GetWindowRect' – Xiaoy312

+0

Комбинация PointToScreen и PointToClient поможет. – TaW

ответ

1

Спасибо всем, я достиг, чтобы решить мою проблему, используя подсказку Blorgbeared ... Я получаю положение окна с помощью GetWindowRect, затем получаю относительные координаты с помощью Cursor.Position.X - rect.X и Cursor.Position. Y - rect.Y Координаты неправильны около 1/2 пикселя, но работают, ty!

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