1
Общие вопросы / Re: Вернуть состояние окна. Фулскрин или нет.(Решено костылем)
« on: October 15, 2014, 03:43:46 AM »
Да, так наверное даже лучше. В моем случае были еще проблемы со сворачиванием окна. И от анализа экрана If_picture_in-ом я ушел, и по совету сделал анализ хешем. В результате вылеты поборол. Ожидание работает как надо. Может кому пригодится:
Code: (clickermann) [Select]
$hwnd = wndfind("Название окна")
wndsize ($hwnd, 1050,10) //без этого могут оставаться артефакты от оконного изображения при getscreen и проверка может не пройти. Ширина требуемая, высота любая, кроме (-1).
wndpos($hwnd, 0, 0) // убираем окно в угол
wait(1)
hset($hwnd,1) // привязываем к окну
getscreen
$hash = PXLXOR (100,100, 150, 150) //анализируем кусочек экрана, где окно точно есть
if ($hash=0) //хеш 0 - черный цвет
logwrite ("Обнаружен полноэкранный режим")
while ($hash=0) //цикл ожидания выхода из полноэкранного режима
wait(20) // время до следующей проверки
$hwnd = wndfind("Название окна") // если окно фулскрина имеет то же название, что и оконного, то при смене окна без этого переприсвоения будет ошибка
hset($hwnd,1) // привязываемся снова (на случай если произошла смена окон)
getscreen
$hash = PXLXOR (100,100, 150, 150) //проверяем
end_cyc
end_if
hset($hwnd,0) //отвязываемся
wait(1)