Potrzebuje prostego programu powiadomień w zasobniku systemowym.. ewentualnie jako widżet, albo po prostu małe okienko które można zakotwiczyć np. gdzieś w rogu (to samo w sumie mogło by być jako ikona powiadomień systemowych).
Do monitorowania podpiętych/aktywnych portów COM (coś ala FT232 Watcher z MKavrCalkulatora).
jako że pythona raczej znam tylko z zoo, a i programowanie w środowisku windows nie jest moją mocną stroną.
Zapytałem chataGPT
Niestety nie do końca to działa.
Kod: Zaznacz cały
import serial.tools.list_ports
import pystray
from pystray import MenuItem as item
from PIL import Image, ImageDraw
import threading
import time
def get_com_ports():
ports = serial.tools.list_ports.comports()
return [(port.device, port.description) for port in ports]
def create_image():
# Tworzenie prostej ikony (16x16 px)
image = Image.new('RGB', (64, 64), "white")
draw = ImageDraw.Draw(image)
draw.rectangle((16, 16, 48, 48), fill="blue")
return image
def show_ports(icon):
ports = get_com_ports()
if ports:
msg = "\n".join([f"{port}: {desc}" for port, desc in ports])
else:
msg = "Brak podłączonych portów COM."
icon.notify(msg, "Lista portów COM")
def exit_action(icon, item):
icon.stop()
def build_tray():
icon = pystray.Icon("com_monitor")
icon.icon = create_image()
icon.title = "Monitor portów COM"
icon.menu = pystray.Menu(
item('Pokaż porty COM', lambda: show_ports(icon)),
item('Wyjście', lambda: exit_action(icon, None))
)
icon.run()
# Uruchomienie w osobnym wątku, by nie blokować GUI
threading.Thread(target=build_tray).start()
