Python and pystray - как сворачивать программу в трей на Windows 11?

Всем привет!

Есть вот такой код на Python, показывает нотификацию при появлении на экране пикселя определенного цвета.

Подскажите, как сделать что бы окно сворачивалось в трей на Windows 11? Пробовал pystray, работает на windows 10, но на 11 в трей не сворачивается. Может, есть какие-нибудь решения?

from cv2 import imread
import pyautogui
import os
import sys
from win10toast import ToastNotifier

def resource_path(relative_path):
    """ Get absolute path to resource, works for dev and for PyInstaller """
    try:
        # PyInstaller creates a temp folder and stores path in _MEIPASS
        base_path = sys._MEIPASS
    except Exception:
        base_path = os.path.abspath(".")

    return os.path.join(base_path, relative_path)

def hex_to_rgb(value):
    value = value.lstrip('#')
    lv = len(value)
    return tuple(int(value[i:i + lv // 3], 16) for i in range(0, lv, lv // 3))

color = input("Введите цвет пикселя в HEX формате (к примеру #2ECD6F): ")
while len(color) != 7 or color[0] != "#":
    color = input("Введите цвет пикселя в HEX формате (к примеру #2ECD6F): ")

rgb_color = hex_to_rgb(color)
toast = ToastNotifier()
while True:
    time.sleep(2)

    screenshot = pyautogui.screenshot('scr.png')

    frame = imread("scr.png")
    found = False

    for y in range(round(frame.shape[0] * 0.2)):
        if found: break
        for x in range(round(frame.shape[1] * 0.2)):
            b, g, r = frame[round(y + (frame.shape[0] * 0.8)), round(x + (frame.shape[1] * 0.8))]
            if r == rgb_color[0] and g == rgb_color[1] and b == rgb_color[2]:

                toast.show_toast(
                    "Notificator 3000",
                    "Screenshot Taken",
                    duration=3,
                    icon_path=resource_path("icon.ico"),
                    threaded=True,
                )
                print("Screenshot Taken")
                found = True
                break

Ответы (0 шт):