Помогите, ребята) Topic is solved

Помощь в написании скриптов
Ivan1231

Помогите, ребята)  Topic is solved

Post by Ivan1231 » 13 Jan 2022, 07:28

Здравствуйте, хотелось бы узнать, как прописать код, который открывает какую то программу на три секунды, сворачивает, открывает обратно через 3 минуты и так по-кругу. Буду очень благодарен, если поможете.
Нижепрописанный скрипт не работает - только лишь открывает программу один раз, но не сворачивает программу и не открывает её в последующие разы.

Code: Select all

Run:
WinActivate, "название программы"
sleep, 6000
send, {~Win & Down}
sleep, 180000
Return

mcl
Posts: 356
Joined: 04 May 2018, 16:35

Re: Помогите, ребята)

Post by mcl » 14 Jan 2022, 22:13

Ivan1231 wrote:
13 Jan 2022, 07:28
Нижепрописанный скрипт не работает - только лишь открывает программу один раз, но не сворачивает программу и не открывает её в последующие разы.
В-нулевых, просто уточнить − что такое Run в первой строке?

Во-первых, фигурные скобки в команде Send нужны только для отдельных клавиш, клавиша Win, как и Ctrl/Shift, считается модификатором, для неё есть отдельный символ #. Правильная команда Send была бы такой:

Code: Select all

Send, #{Down}
Отмечу ещё, что для максимизированного окна нажатие Win+Down не сворачивает окно, а восстанавливает его не-максимизированный размер.
Но для вашей задачи эта команда, скорее всего, и не нужна. Если вы переключитесь на другое окно, или вылезет какое-то оповещение, эти нажатия кнопок уйдут не по адресу. Советую использовать команду WinMinimize.

Во-вторых, чтобы скрипт выполнялся по кругу, нужно обернуть его в цикл Loop. Надеюсь, вы предусмотрели, как экстренно выключить скрипт.

Code: Select all

Run:
Loop {
	WinActivate, НазваниеПрограммы
	Sleep, 3000
	WinMinimize, НазваниеПрограммы
	Sleep, 180000
}
Return
github://oGDIp - GDI+ wrapper for AHK v1.1

Post Reply

Return to “Помощь”