C # Как получить координаты определенной точки на экране.(не указание мыши) - PullRequest
0 голосов
/ 22 января 2011

У меня следующая проблема: я пишу приложение WinForms на C # и хочу получить экран - координаты части изображения, в данном случае верхнюю часть этой руки (отмечена красной точкой).

Кто-нибудь знает, как я могу сделать это программно?

("Координаты Dieses Punktes" = Координаты этой точки)

РЕДАКТИРОВАТЬ: sry за то, что сбил вас с толку, картинка выше должна только продемонстрировать мою проблему.Фактическая цель моей программы - переместить управляемую мышью стрелку игры в дартс в правильное положение, но это невозможно, только установив MouseLocation в фиксированную точку, потому что каждый ход стрелы дротика получает еще один x: y расстояние до MouseLocation.Поэтому мне нужно найти Местоположение дротика (-стрелка).

Я надеюсь, что все знают, в чем моя проблема сейчас.

Изображение игры в дартс

Ответы [ 2 ]

0 голосов
/ 19 декабря 2013

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

поэтому начните с импорта API:

[System.Runtime.InteropServices.DllImport("user32.dll")]
static extern bool GetCursorPos(out Point lpPoint);

и используйте его:

Point pts;
GetCursorPos(out pts);
MessageBox.Show(this, pts.ToString());
0 голосов
/ 22 января 2011

В некоторых случаях использования формы:

this.PointToScreen(new System.Drawing.Point(250, 300));

Замените точку на точку (относительно формы), которая вас интересует.

...