Кибор » Кибор - Интегрированная среда разработки ботов » Вопросы и решение проблем » Определение наличия окна если его закрыть

Страниц (2): « 1 [2]
 

11. konctantin777 - 17 Июня, 2023 - 10:45:57 - перейти к сообщению
 Zireael пишет:
setwindowparam(w) возвращает 0 если окна нет.

А перед ним обязательно вставлять
CODE:
w=window (-1, "Notepad", -1);
result = setwindowparam(w);
?
Подскажите, пожалуйста, как правильно в виз. редакторе вставить в блок кода , чтобы проверял наличие окна (W_Kib). При отсутствии, писал, что нету и дальше шел. При наличии, что есть , обновлял его положение, размеры и дальше шел. ?
12. Zireael - 17 Июня, 2023 - 11:03:42 - перейти к сообщению
CODE:
win w = window (-1, "Notepad", -1);
if(w)
{
loop()
{
int result = setwindowparam(w);
if (result==0)
{
w = window (-1, "Notepad", -1);
if(w==0) textout(0, 100, 50, "НЕТ окна", 1);
}
else
{
textout(0, 100, 50, "есть окно", 1);
activate(w);
pause(1000);
}
sleep(100);
}
}
else messagebox("Окно не найдено");
13. konctantin777 - 17 Июня, 2023 - 11:20:05 - перейти к сообщению
Спасибо )

Чтобы не вставлять этот код везде, подскажите, пожалуйста, будет ли правильно так функцией проверять ?
CODE:
win W_Kib = window (-1, "Notepad", -1);

// вызываем функцию из скрипта
// зациклим для проверки работы функции
тест:;
проверка();
sleep(100);
goto тест;

function проверка()

{
int result = setwindowparam(W_Kib);
if (result==0)
{
W_Kib = window (-1, "Notepad", -1);
if(W_Kib==0){ textout(0, 100, 50, "НЕТ окна", 1); return "НЕТ_окна";}
}
else
{
textout(0, 100, 50, "есть окно", 1);
activate(W_Kib);pause(1000);
return "есть_окно";
}
}
14. Zireael - 17 Июня, 2023 - 11:25:38 - перейти к сообщению
Да, можно так.
Возвращать "НЕТ_окна" и "есть_окно" в данном случае нет смысла, т. к. результат из функции нигде не используется.
15. konctantin777 - 17 Июня, 2023 - 11:26:58 - перейти к сообщению
 Zireael пишет:
т. к. результат из функции нигде не используется.

Чтобы дальше в скрипте понимать есть ли окно.
Спасибо !!

Powered by ExBB FM 1.0 Final