Author Topic: Динамичные координаты  (Read 2000 times)

0 Members and 2 Guests are viewing this topic.

FJ

  • Освоившийся
  • **
  • Posts: 59
    • View Profile
Динамичные координаты
« on: November 02, 2015, 11:30:03 PM »
Доброго дня форумчане!
Завис над такой вот задачкой, хочу перед запуском кликера забить координаты xmin,ymin,xmax,ymax, чтоб можно было работать на разных разрешениях допустим передвинул окно в сторону, сделал его уже. Не нужно будет переписывать все координаты, которых очень много. Задачка вроде легкая, но я что-то не могу понять, как ее реализовать.
Спасибо заранее! :)

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Динамичные координаты
« Reply #1 on: November 03, 2015, 08:21:57 AM »
Code: (clickermann) [Select]
// наводим мышь на окно и запускаем
WNDGETINFO(HGET($_xmouse,$_ymouse), $xmin,$ymin,$xmax,$ymax)

start:

// здесь твой скрипт

GOTO(start)

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
Re: Динамичные координаты
« Reply #2 on: November 03, 2015, 08:25:05 AM »
А в чём трудность? берёшь и пишешь.

Но ты быстро замучаешься каждый раз менять. Есть несколько более простых способов.

1. В начале скрипта командами передвигаешь окно всегда в одно и то же место и задаёшь ему нужные размеры.
WNDFIND, WNDPOS, WNDSIZE  в помощь.

2. Определяешь эти min и max при старте автоматом WNDGETINFO

Оба эти пункта работают только на одной системе с одинаковой темой оформления. Ну или вносить корриктеровки от системы на высоту заголовков окон.

3. Найти в приложение стабильные стационарные элементы изображения и через их поиск (IF_PICTURE_IN) привязать начальную точку отсчёта которую будешь использовать в дальнейшем во всех координатах. Таких точек может быть несколько, если часть интерфейса подвижна и подстраивается под размеры окна.


FJ

  • Освоившийся
  • **
  • Posts: 59
    • View Profile
Re: Динамичные координаты
« Reply #3 on: November 03, 2015, 11:58:39 AM »
Спасибо за ответы, попробую этими командами.
Но тут проблема в том, что в один день окно может быть Xmin = 10 Ymin =10 Xmax =20 Ymax = 20, а в другой Xmin = 5 Ymin = 5 Xmax = 30 Ymax = 30
Так - то я написал код, я задаю в ручную эти 4 координаты, и все остальное считается.