Автокликер Clickermann :: Форум

Основной раздел => Общие вопросы => Topic started by: green_whistle on December 22, 2017, 02:19:00 PM

Title: Програмная привязка к окну
Post by: green_whistle on December 22, 2017, 02:19:00 PM
Добрый день.

Подскажите, можно ли програмно привязаться к окну? Не навести на него и нажать Alt-W, а как-то так:

  $hwnd = wndfind("Суперокно", 1)
  IF ( $hwnd > 0 )
      ... Привязываемся к окну и в дальнейшем работаем только и исключительно с ним ...
  END_IF
Title: Re: Програмная привязка к окну
Post by: green_whistle on December 22, 2017, 04:04:24 PM
Спасибо! Работает!
В хэлпе про HSET написано "устанавливает новый рабочий элемент для оконного режима". Я просто не понял, что это означает, когда читал.

Title: Re: Програмная привязка к окну
Post by: Oraven on December 22, 2017, 04:07:29 PM
По умному лучше так
Code: (clickermann) [Select]
$hwnd = wndfind("Суперокно", 1)
IF($hwnd > 0)
   HSET($hwnd,1)
ELSE
   HINTPOPUP("Окно не найдено", "Ошибка")
   HALT
END_IF
Title: Re: Програмная привязка к окну
Post by: Oraven on December 22, 2017, 05:39:44 PM
Вот с ожиданием
Code: (clickermann) [Select]
$time = $_time_t + 60
WHILE($time > $_time_t) // Ожидаем окно 60 секунд
   $hwnd = wndfind("Суперокно", 1)
   IF($hwnd > 0)
      HSET($hwnd,1)
      $time = 0
   ELSE
      WAITMS(100)
   END_IF
END_CYC
IF($time ! 0)
   HINTPOPUP("Окно не найдено", "Ошибка")
   HALT
END_IF
Title: Re: Програмная привязка к окну
Post by: clicker_student on February 17, 2019, 05:41:56 PM
Прошу помочь с этим вопросом и мне. Сделал скрипт, отлалил - работает. Решил использовать привязку к окну - и перестал работать.

У меня идет активная работа с диалоговыми окнами в приложении, первым делом я вывожу окно приложения на передний план, задаю ему размеры, перемещаю в координаты (0,0).
И после этого добавил привязку к окну.
Затем я кликаю правой кнопкой по окну приложения, чтобы появилось окошко контекстного меню со словом "Свойства". Я нахожу это снятый скриншот этого окна с помощью "IF_PICTURE_IN", получаю координаты и кликаю по нему. И дальше идет работа.

Так вот, как только я добавил привязку, перестало находить картинку со словом "Свойства". Такое оущущение, что теперь Кликерман видит только главное окно приложения, к которому привязался по HWND и не видит его дочерние диалоговые окна. Это правда?

Если так - то как мне решить проблему? Я хотел включить привязку, запускать скрипт Кликермана и продолжать работать за компьютером. Это невозможно, если активно используются дочерние окна главного приложения?

Буду благодарен за подсказки/советы.
Title: Re: Програмная привязка к окну
Post by: Oraven on February 17, 2019, 08:15:42 PM
Если комп позволяет используй виртуальную машину.