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