Author Topic: Как дублировать действия на два окна  (Read 2221 times)

0 Members and 1 Guest are viewing this topic.

defact

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Как сделать чтобы оба окна одновременно, или поочерёдно выполняли скрипт?

defact

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
А есть ли какой-нибудь небольшой пример скрипта переходящий с первого окна на второй?

defact

  • Зашел в гости
  • *
  • Posts: 7
    • View Profile
Пример нужен потому что без него вообще не получилось, в справке нигде не нашёл эту тему поэтому понимания как у новичка нету как это сделать.

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Вот пример.
Если ты используешь оконный режим.

Нужно запустить кликер с этим скриптом два раза. Скрипт нужно запускать кнопкой на главной форме (Зеленая стрелка). После запуска у тебя будет две секунды чтобы успеть навести курсор на нужное окно, после чего кликер сам привяжется к этому окну. Каждый кликер привязываем к своему окну в котором он будет работать.
Чтобы остановить все кликеры жми "Esc". Плюс в том что оба кликера работают независимо и одновременно.

Code: (clickermann) [Select]
WAIT(2)
HSET(HGET($_xmouse,$_ymouse),1)

start:

// Тут твой скрипт

GOTO(start)

THREAD(exit, 1) // Остановка после нажатия ESC
   IF(ISKEYDOWN(#ESC)=1)
      HSET(0,0)
      HALT
   END_IF
   WAITMS(30)
END_THREAD

Можно обойтись и без оконного режима выполняя скрипт в окнах по очереди.
Code: (clickermann) [Select]
IF($sw = 0)
   $hwnd = 12345 // нужно указать hwnd окна 1
   WNDBUMP($hwnd) // поднимаем окно
   WNDSETINFO($hwnd, 0, 0, 1000, 1000) // устанавливаем позицию 0,0 и размер 1000 на 1000
   WAITMS(500)
ELSE
   $hwnd = 12345 // нужно указать hwnd окна 2
   WNDBUMP($hwnd) // поднимаем окно
   WNDSETINFO($hwnd, 0, 0, 1000, 1000) // устанавливаем позицию 0,0 и размер 1000 на 1000
   WAITMS(500)
END_IF
$sw = $sw^1

// далее выполняем скрипт