В сегодняшней статье рассмотрим создание скрипта для сворачивания всех окон на экране вашего компьютера. Нам понадобится Python и библиотека Pyautogui , а также одно изображение. Программа будет выполняться в цикле for , n - количество раз. Мы будет имитировать клик мышки, программно, по заданной области.

Программное сворачивание окон с Python и Pyautogui

В сегодняшней статье рассмотрим создание скрипта для сворачивания всех окон на экране вашего компьютера. Нам понадобится Python и библиотека Pyautogui, а также одно изображение. Программа будет выполняться в цикле for, n - количество раз. Мы будет имитировать клик мышки, программно, по заданной области.

Для работы программы нам понадобится скриншот. Делаем скриншот экрана и вырезаем необходимую область. В нашем случае это кнопка сворачивания окон. Изображение должно находиться в отдельной папке, например MyProjects.


Изображение

Далее устанавливаем саму библиотеку.

pip install pyautogui

Создаем файл с расширением .py:


# импорт библиотеки
import pyautogui


# строка позволяет остановить выполнение скрипта, переместив курсор мыши в левый верхний угол
pyautogui.FAILSAFE = True


#button7location = pyautogui.locateOnScreen('MyProjects/bbb.png', grayscale=True)
#функция ищет первое попавшееся совпадение с изображением bbb.png, на экране


#функция ищет все попавшееся совпадения на экране
#button8location = pyautogui.locateAllOnScreen('MyProjects/bbb.png', grayscale=True)


# создаем функцию для однократному нажатию искомой области
def find_click():
#находим координаты изображения на экране и распаковываем их
button7location = pyautogui.locateOnScreen('MyProjects/bbb.png', grayscale=True)
x, y, z, h = button7location
# нас интересует x и y
# z, h - это размеры искомого элемента
# далее перемещаем курсор к координатам 
pyautogui.moveTo(x, y, duration = 2)
        
# программно нажимаем на данную область
pyautogui.click(x, y)


# создаем цикл с многократным повторением
for с in range(200):
# получаем кортеж из всех координат найденных на экране элементов 
button8location = pyautogui.locateAllOnScreen('MyProjects/bbb.png', grayscale=True)
pyautogui.PAUSE = 0.5 # установка паузы 
# повторяем операцию программного нажатия i раз, исходя из количества найденных совпадений, здесь длины списка координат
for i in range(len(list(button8location))):
print(i)
find_click()
        
# Все открытые окна будут сворачиваться до тех пор пока цикл программы не остановится.
# Закрыть данную программу можно сочитанием клавиш Ctrl+C в консоли


Таким образом, с помощью Python и pyautogui мы можем сворачивать окна всех открытых программ.