by mcl » 14 Jan 2022, 22:13
Ivan1231 wrote: ↑13 Jan 2022, 07:28
Нижепрописанный скрипт не работает - только лишь открывает программу один раз, но не сворачивает программу и не открывает её в последующие разы.
В-нулевых, просто уточнить − что такое
Run в первой строке?
Во-первых, фигурные скобки в команде
Send нужны только для отдельных клавиш, клавиша
Win, как и
Ctrl/
Shift, считается модификатором, для неё есть отдельный символ
#. Правильная команда Send была бы такой:
Отмечу ещё, что для максимизированного окна нажатие Win+Down не сворачивает окно, а восстанавливает его не-максимизированный размер.
Но для вашей задачи эта команда, скорее всего, и не нужна. Если вы переключитесь на другое окно, или вылезет какое-то оповещение, эти нажатия кнопок уйдут не по адресу. Советую использовать команду
WinMinimize.
Во-вторых, чтобы скрипт выполнялся по кругу, нужно обернуть его в цикл
Loop. Надеюсь, вы предусмотрели, как экстренно выключить скрипт.
Code: Select all
Run:
Loop {
WinActivate, НазваниеПрограммы
Sleep, 3000
WinMinimize, НазваниеПрограммы
Sleep, 180000
}
Return
[quote=Ivan1231 post_id=438823 time=1642076914]Нижепрописанный скрипт не работает - только лишь открывает программу один раз, но не сворачивает программу и не открывает её в последующие разы.[/quote]
В-нулевых, просто уточнить − что такое [c]Run[/c] в первой строке?
Во-первых, фигурные скобки в команде [docs]Send[/docs] нужны только для отдельных клавиш, клавиша [kbd]Win[/kbd], как и [kbd]Ctrl[/kbd]/[kbd]Shift[/kbd], считается модификатором, для неё есть отдельный символ [c]#[/c]. Правильная команда Send была бы такой:
[code]
Send, #{Down}
[/code]
Отмечу ещё, что для максимизированного окна нажатие Win+Down не сворачивает окно, а восстанавливает его не-максимизированный размер.
Но для вашей задачи эта команда, скорее всего, и не нужна. Если вы переключитесь на другое окно, или вылезет какое-то оповещение, эти нажатия кнопок уйдут не по адресу. Советую использовать команду [docs]WinMinimize[/docs].
Во-вторых, чтобы скрипт выполнялся по кругу, нужно обернуть его в цикл [docs]Loop[/docs]. Надеюсь, вы предусмотрели, как экстренно выключить скрипт.
[code]
Run:
Loop {
WinActivate, НазваниеПрограммы
Sleep, 3000
WinMinimize, НазваниеПрограммы
Sleep, 180000
}
Return
[/code]