Диспетчер процессов написанный с помощью C++ и Electron
Просмотр процессов:
- Отображение списка текущих запущенных процессов в табличном виде.
- Группировка: Процессы с одинаковым именем исполняемого файла (например,
firefox.exe,Discord.exe) автоматически группируются. - Отображение данных:
- Для одиночных процессов выводятся: PID, Имя, Загрузка CPU (%), Память (МБ).
- Для групп процессов выводится: Имя группы (имя файла), количество процессов в группе (в скобках), суммарная Загрузка CPU (%), суммарная Память (МБ).
- Группы можно раскрывать/сворачивать кликом по строке (или значку ►/▼) для просмотра отдельных процессов внутри группы.
- Сортировка:
- Возможность сортировки списка обычных (не системных) процессов по колонкам: PID, Имя, CPU (%), Память (МБ).
- Поддерживается сортировка по возрастанию (asc) и убыванию (desc).
- При сортировке по Имени, группы процессов всегда отображаются вверху списка, выше одиночных процессов.
- Визуальные индикаторы (▲/▼) показывают активную колонку и направление сортировки.
- Системные процессы: Процессы, определенные как системные (по списку имен, например,
svchost.exe,csrss.exe), вынесены в отдельную, статичную секцию внизу таблицы для удобства.
Управление процессами:
- Возможность принудительно завершить отдельный процесс (как обычный, так и системный, или процесс внутри группы) по его PID с помощью кнопки "Завершить".
- Возможность завершить все процессы в группе одной кнопкой "Завершить все" в строке группы (с диалогом подтверждения).
Просмотр загрузки системы:
- Вкладка "Загрузка системы" отображает общую текущую загрузку CPU (%) и процент использования Оперативной памяти (%) по системе в целом.
- Так же во вкладке отображаются подробные графики в которых можно посмотреть нагрузку в каждые 2 секунды.
Обновление данных:
- Ручное: Кнопка "Обновить" на вкладке "Процессы" запрашивает актуальный список процессов. (Можно добавить аналогичную кнопку для системной вкладки, если нужно).
- Автоматическое: Данные на активной вкладке обновляются автоматически с заданным интервалом (1 секунда).
- Оптимизация: Запросы на автообновление отправляются только для текущей активной вкладки (либо
getProcesses, либоgetSystemLoad), чтобы не нагружать бэкенд лишними запросами.
Взаимодействие:
- Связь между фронтендом (Electron) и бэкендом (C++) осуществляется через TCP/IP сокеты (localhost:12345).
- Обмен данными и командами происходит с использованием JSON-сообщений.
- Каждое JSON-сообщение завершается символом новой строки (
\n) для корректной обработки потоковых данных на обеих сторонах. - Основные используемые команды:
getProcesses,getSystemLoad,terminateProcess.
Standalone Приложение:
- Приложение собрано с использованием Electron Builder.
- Фронтенд (Electron) автоматически запускает исполняемый файл бэкенда (
TaskManager.exe) при своем старте и управляет его жизненным циклом. - Бэкенд-процесс автоматически завершается при закрытии основного окна Electron-приложения.
- Исполняемый файл бэкенда включен в установочный пакет как дополнительный ресурс (
extraResources). - Требуется запуск с правами Администратора для корректной работы функции завершения процессов (настроено через
requestedExecutionLevelв конфигурации сборки).
Интерфейс:
- Интерфейс с двумя функциональными вкладками: "Процессы" и "Загрузка системы".
- Индикатор статуса соединения с бэкендом ("Подключение...", "Ожидание данных...", "Подключено", "Отключено", "Ошибка...").
- Визуальные индикаторы сортировки (стрелки ▲▼) в заголовках таблицы процессов.
- Визуальные индикаторы раскрытия/сворачивания (►/▼) для групп процессов.
- Качественная цветовая палитра и отличные анимации дополняют приложение.
Скачивание осуществляется с помощью Github, в актуальных релизах, которые можно найти по ссылке: https://github.com/Desai0/TaskManager/releases/
Необходимый установщик находится в раскрывающемся списке Assets, в данном случае - 1 в списке:
После установки, достаточно будет запустить скачанный файл и разрешить установку, в случае если антивирус уточнит ваши намерения
Согласившись с рисками, Installer автоматически установит программу на ваш компьютер, запустит ее и вы увидите основной интерфейс программы
На первых строчках нас встречает название программы и Статус соединения с вспомогательной частью программы. Под ним есть 2 вкладки: Процессы и Загрузка системы
Вкладка “Процессы”:
На вкладке процессы реализован список процессов и обновление информации о них (пока что в ручную). Рядом с каждым процессом есть краткая информация о нем:
- PID(уникальный идентификатор)
- Имя процесса
- Загрузка CPU в процентах
- Загрузка памяти в мегабайтах
- Кнопка завершение процесса
Соответственно, для завершения нужного процесса необходимо найти его в списке и нажать на кнопку “Завершить”
**Вкладка “Загрузка системы”: **
Здесь отображается общая загрузка на систему всеми процессами и графическое отображение этой нагрузки
При нажатии на крестик, программа автоматически завершит все свои запущенные процессы и остановится.
Для удаления программы необходимо перейти по ниже представленному пути установки программы:
C:\Users(ваше имя пользователя)\AppData\Local\Programs\my-electron-app
После достаточно будет найти в этой папке файл: "Uninstall Task Manager Rebuild.exe" И запустить его
Также для поиска папки установки можно использовать поиск Windows:
После чего нажать правой кнопкой мыши на ярлык программы и нажать “Расположение файла”
Более полная и подробная документация к проекту представлена по ссылке:
https://docs.google.com/document/d/17OcSIk85LUgKak0WFeBbTfepVfo8L_qiKOXc1syw53w/edit?usp=sharing





