Process Monitor: Maintain focus, minimize distractions. Monitors specified processes, offers gentle reminders, and automatically closes non-work apps. Stay on track and boost productivity during work/study sessions.
- Monitors a customizable list of processes to avoid during work sessions.
- Provides a gentle reminder when a monitored process is detected, promoting productivity and focus.
- Automatically closes non-work-related applications to minimize distractions.
- Lightweight and easy to use.
- Clone this repository or download the latest release.
- Customize the list of processes to monitor by editing the
proccessestomon
vector in the code. - Compile and run the application on your Windows machine.
- Launch Process Monitor on your Windows machine.
- The application will continuously monitor the specified processes.
- If a monitored process is detected, Process Monitor will display a reminder message and give you the option to close the application or continue working.
- Choose the appropriate action based on your intentions and desired level of focus.
- If there is any problem with Win Security then add the program to exclusions.
https://learn.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-getasynckeystate - used to check which key was pressed
uintptr_t mem::GetProcId(const char procName)* which takes as parameter the procname has the function to get the procid of a process:
- We create a hSnap (handle) to snapshot all processes
- We loop through all processes
- We make a storage var to store the process name and convert it to WCHAR
- Using the function "_wcsicmp we compare the proccess with the wProcName(given process)
- return our procId.
bool mem::isProcessRunning(const char procname)* is the same as the function from the above but the difference is this one is a bool function so the return value will be true/false.
Contributions are welcome! If you have any ideas, suggestions, or bug reports, please open an issue or submit a pull request.