A lightweight Windows system tray app that watches a list of processes and sends an e-mail alert whenever one of them starts or stops — no dashboard to babysit, no polling scripts to maintain.
- Lives in the system tray; both left-click and right-click open the same menu
- Monitors any number of processes, each with its own friendly name (and an optional path fragment to tell apart processes that share an executable name)
- Sends a formatted HTML e-mail as soon as a monitored app starts or stops
- Settings window with three tabs, no config files to hand-edit:
- Monitored apps — add, edit, remove
- Alert e-mails — add, remove, and a send test e-mail button to confirm delivery works
- E-mail sending — SMTP server/port, sender credentials, check interval, and a "Start with Windows" toggle
- Changes apply on the next check cycle — no restart required
- Everything lives in
%LOCALAPPDATA%\AppMonitor\(config.json+ rotating logs); nothing is hardcoded in the executable - Single-instance guard — launching it twice just focuses the existing tray icon
- Per-user installer, no admin rights required
Download AppMonitor-Setup-X.Y.Z.exe from the latest release
and run it. It installs for your user only (no admin prompt), adds Start Menu
shortcuts, and launches the app.
Note: since the installer isn't code-signed, Windows Defender SmartScreen may warn on first run ("Windows protected your PC"). Click More info → Run anyway.
Open Configurações... from the tray menu (right-click or left-click the icon) to add the apps you want monitored and the e-mail addresses that should receive alerts.
Download the new installer from the latest release and run
it — it detects the existing installation (same App ID) and upgrades it in place,
closing the running app first if needed. Monitored apps, alert e-mails and SMTP
settings are untouched, since they live separately in %LOCALAPPDATA%\AppMonitor\.
Requires Python 3.12+.
git clone <this-repository-url>
cd MonitorDeApps
python -m venv venv
venv\Scripts\pip install -e .
venv\Scripts\python run.pysrc/monitor_app/
├── main.py # Entry point — wires tray, settings window, monitor loop
├── tray.py # System tray icon and menu (left-click == right-click)
├── monitor_core.py # Process polling + e-mail alert composition/sending
├── single_instance.py # Prevents running more than one copy at once
├── startup.py # Windows "start on boot" registry toggle
├── config.py # Paths + config.json load/save
├── logger.py # Rotating file logger
├── ui/
│ └── settings.py # Settings window (monitored apps, e-mails, SMTP)
└── assets/
├── app.ico
├── icon_active.ico
└── icon_stopped.ico
venv\Scripts\pyinstaller app-monitor.spec --noconfirmProduces dist/AppMonitor.exe (single-file, windowed, no console).
Requires Inno Setup 6.
ISCC installer.issProduces installer_output/AppMonitor-Setup-X.Y.Z.exe.