Должен ли я проверить, существует ли окно перед использованием WinClose?
Документация для WinClose содержит пример кода, который проверяет IfWinExist, прежде чем пытаться закрыть его.
IfWinExist, Untitled - Notepad ; check if window exists
WinClose ; close window found above
Я также видел, что скрипты используют WinClose самостоятельно, не проверяя, существует ли окно.
WinClose, Untitled - Notepad ; close window without checking if it exists
Я не смог найти никаких причин использовать один метод над другим. Мой сценарий, кажется, работает в любом случае, поэтому выбор кажется личным предпочтением.
Есть ли причина проверять, существует ли окно, прежде чем закрывать его с помощью WinClose?
1 ответ
Нет, вам не нужно проверять, существует ли окно, прежде чем закрывать его. Если соответствующее окно не существует, WinClose
просто не буду ничего делать. Это не то, что пример пытается сказать.
В примере делается попытка сказать, что вам не нужно повторять WinTitle и / или WinText целевого окна при использовании WinClose
, Это просто экономит вам время ввода (и производительность) в некоторых случаях.
Например:
IfWinExist, Untitled - Notepad
;do stuff
;do more stuff
;etc
WinClose ;close the window found above
Это объясняется в документации WinTitle
, пункт "Последнее найденное" окно:
Это окно, недавно найденное с помощью IfWin[Not]Exist, WinExist(), IfWin[Not]Active, WinActive(), WinWait[Not]Active или WinWait. Это может облегчить создание и поддержание сценариев, поскольку нет необходимости повторять WinTitle и WinText целевого окна для каждой команды управления окнами. Кроме того, скрипты работают лучше, потому что им не нужно снова искать целевое окно после того, как оно было найдено в первый раз.