Skip to content

Create custom reminders using Windows ToastNotifications (pop-ups). Crea recordatorios personalizados en Windows usando ToastNotifications (pop-ups)

License

Notifications You must be signed in to change notification settings

GioByte10/CReminders

Repository files navigation

CReminders

img1


licenseBadge releaseBadge

English

CReminders is a C++ and Python written program that runs in the background and lets you create custom reminders using Windows ToastNotifications (pop-ups). In addition to a custom title, message, days, and time, you can add an icon and a button for the notification.

The way CReminders works is by adding itself (main.cpp) to the CURRENT_USER's start up through the Windows Registry. The program accesses the info.txt file where the user adds all necessary information for it to run. CReminders then waits for the specified day(s) and time and then creates the notification by running toastNotification.py, using:

ShellExecuteA(nullptr, "open", notificationPath.c_str(), notificationContent.c_str(), nullptr, SW_HIDE);

CReminders passes the content of the notification as an argument, which is received by toastNotification. After some off-camera parsing, the notification is displayed using Versa Syahputra's Winotify module.

info.txt file

This file holds all the data necessary for the program to run, this includes:

Parameter Description
Active Whether or not this reminder is active
Title Reminder's title
Message Reminder's message
Icon Absolute path of the image
e.g., → C:\Users\User1\pictures\img1.png
Duration Time the notification will remain as a pop-up before being added to the Action Center
short = 5s, long = 30s
Button Whether or not this reminder will have a button
ButtonText The text shown over the button
ButtonLaunch The link (if any) the button will launch when clicked. Must contain "https://"    
e.g., → https://www.google.com
Time 24 hour format
e.g., → 16:30
Days Days in which the reminder will be active
e.g., → monday, wednesday, friday
e.g., → everyday

Attached below is an example of an info.txt file. Notice the ticketing (-----) enclosing for each notification block. It is crucial that every block is properly enclosed in its upper and lower boundaries. Blocks must share enclosings when adjacent to each other, as shown here.

drawing

commands.exe file

This executable allows the user to perform several useful features, these are as follows:

Command Description
show Quickly gives a preview of all reminders
deactivate Removes the program from the Registry and stops its execution. To reactivate it you must run CReminders.exe again
reset en Resets the info.txt file to its original state, in english. Note that this will delete all the reminders that you created

Español

CReminders es un programa escrito en C++ y Python, el cual corre en segundo plano y te permite crear recordatorios personalizados usando notificaciones de Windows (pop-ups). Además de un título, mensaje, días, y hora personalizada, puedes agregar un icono y un boton para la notificación.

Para lograr eso, CReminders se añade a sí mismo (main.cpp) al start up de CURRENT_USER a través del Registro de Windows. El programa accesa el archivo info.txt, en el cual el usuario añade toda la información necesaria para que este se ejecute. Tras eso, CReminders espera por el día y tiempo especificado y crea la notificación ejecutando toastNotification.py, usando:

ShellExecuteA(nullptr, "open", notificationPath.c_str(), notificationContent.c_str(), nullptr, SW_HIDE);

CReminders pasa el contenido de la notificación como argumento, el cual es recibido por toastNotification. Tras eso la notificación se muestra usando el módulo Winotify de Versa Syahputra.

Archivo info.txt

Este archivo contiene toda la información necesaria para que el programa se ejecute, esta incluye:

Parámetro Descripción
Activo Si esta notificación estará activa o no
Titulo Título de la notificación
Mensaje Mensaje de la notificación
Icono Ruta absoluta de la imagen
e.g., → C:\Users\Usuario1\imagenes\img1.png
Duracion Tiempo que la notificación durará como pop-up antes de ser movida al Centro de Actividades
corta = 5s, larga = 30s
Boton Si esta notificación tendrá un botón o no
BotonTexto El texto que se mostrará en el botón
BotonLaunch El link (si es que hay) que el botón abrirá al ser presionado. Debe contener "https://"    
e.g., → https://www.google.com
Hora En formato de 24 horas
e.g., → 16:30
Dias Días en los cuales la notificación estará activa
e.g., → lunes, miercoles, viernes
e.g., → diario

Abajo esta adjunto un ejemplo de un archivo info.txt. Nota como cada bloque de notificación esta encapsulado por barras horizontales (------). Es de suma importancia que cada bloque este correctamente encapsulado en los límites superiores e inferiores. Estos límites deben ser compartidos cuando hay bloques adyacentes, tal como se muestra abajo.

drawing

Archivo commands.exe

Este ejecutable le permite al usuario realizar varias funciones, estas son las siguientes:

Comando Descripción
mostrar Muestra rápidamente como se verían los recordatorios
desactivar Elimina el programa del Registro y detiene su ejecución. Para volver a activarlo se debe ejecutar CReminders.exe de nuevo
reset es Resetea el archivo info.txt a su estado inicial, en español. Note que esto borrara todos los recordatorios que haya creado


Gallery / Galería

Windows 11

img1 img1 img1 img1

About

Create custom reminders using Windows ToastNotifications (pop-ups). Crea recordatorios personalizados en Windows usando ToastNotifications (pop-ups)

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published