Author Topic: Если окно развёрнуто и поверх всех окон, то произвести скрипт  (Read 4177 times)

0 Members and 1 Guest are viewing this topic.

Dlmx

  • Зашел в гости
  • *
  • Posts: 9
    • View Profile
Здравствуйте!

Помогите пожалуйста! Измучился! Не понимаю, как сделать!

Если открыто и развёрнуто окно "MicroSIP - 131", то проигрывается скрипт:

Code: (clickermann) [Select]
IF(WNDFIND("MicroSIP - 131"), 1)
   WNDGETINFO(WNDFIND("MicroSIP - 131"), $var1, $var2, $var3, $var4) // Собирает информацию об окне
   WAITMS(10)
   LCLICK($var1+121, $var2+312)     // Нажать на кнопку
   WAITMS(20)
   WNDSTATE(WNDFIND("MicroSIP - 131"), 0) // Свернуть MicroSip
   WAITMS(20)
END_IF

Если окно свёрнуто, но открыто, то WAITMS(20)

С данным скриптом если окно развёрнуто, всё работает хорошо!
Если окно свёрнуто, оно кликает по координате, якобы окно развернуто! В итоге кликает не туда.

Vint

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3935
  • Лечу куда хочу. cman 4.13.014x32, 4.14.003 W10
    • View Profile
И что это за конструкция?
Code: (clickermann) [Select]
IF(WNDFIND("MicroSIP - 131"), 1)Она неправильная. Что значит ', 1' в условии? Может имелось ввиду
Code: (clickermann) [Select]
IF(WNDFIND("MicroSIP - 131", 1))Хотя вряд ли, дальше то этого нет.


WNDFIND ищет hwnd окна по имени. Если окно есть - вернёт hwhd и выполнится условие. Команда не умеет определять свёрнуто окно или нет.
Зато у свёрнутого окна координаты равны -32000, мог бы заметить если бы вывел в лог. Вот по ним можно понять развёрнуто или нет
Code: (clickermann) [Select]
$hwnd = WNDFIND("MicroSIP - 131")
IF($hwnd)
    WNDGETINFO($hwnd, $win_x, $win_y, $win_w, $win_h)
    LOGWRITE("Окно: ", $win_x, ",", $win_y, "  ", $win_w, "x", $win_h)
    IF(($win_x + $win_y) ! -64000)
        LOGWRITE("Окно развернуто")
        LCLICK($win_x+121, $win_y+312)     // Нажать на кнопку
        WAITMS(20)
        WNDSTATE($hwnd, 0) // Свернуть MicroSip
        WAITMS(20)
    ELSE
        WAITMS(20)
        LOGWRITE("Окно свёрнуто")
    END_IF
ELSE
    LOGWRITE("Окно не найдено!")
END_IF
« Last Edit: June 03, 2021, 03:06:38 PM by Vint »


Dlmx

  • Зашел в гости
  • *
  • Posts: 9
    • View Profile
Спасибо!!! Получилось))))))))