Skip to content

Desai0/Task-Manager-Rebuild

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TaskManager

Диспетчер процессов написанный с помощью C++ и Electron

Снимок экрана 2025-04-30 054718

Основные возможности и функциональность:

Просмотр процессов:

  • Отображение списка текущих запущенных процессов в табличном виде.
  • Группировка: Процессы с одинаковым именем исполняемого файла (например, 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/

📷 Показать скриншот
Снимок экрана 2025-04-03 082828

Необходимый установщик находится в раскрывающемся списке Assets, в данном случае - 1 в списке:

📷 Показать скриншот
Снимок экрана 2025-04-03 082828

После установки, достаточно будет запустить скачанный файл и разрешить установку, в случае если антивирус уточнит ваши намерения

Согласившись с рисками, Installer автоматически установит программу на ваш компьютер, запустит ее и вы увидите основной интерфейс программы

📷 Показать скриншот
Снимок экрана 2025-04-03 082828

Знакомство с интерфейсом программы

На первых строчках нас встречает название программы и Статус соединения с вспомогательной частью программы. Под ним есть 2 вкладки: Процессы и Загрузка системы

Вкладка “Процессы”:
На вкладке процессы реализован список процессов и обновление информации о них (пока что в ручную). Рядом с каждым процессом есть краткая информация о нем:

  1. PID(уникальный идентификатор)
  2. Имя процесса
  3. Загрузка CPU в процентах
  4. Загрузка памяти в мегабайтах
  5. Кнопка завершение процесса

Соответственно, для завершения нужного процесса необходимо найти его в списке и нажать на кнопку “Завершить”

**Вкладка “Загрузка системы”: **
Здесь отображается общая загрузка на систему всеми процессами и графическое отображение этой нагрузки

Закрытие и удаление программы

При нажатии на крестик, программа автоматически завершит все свои запущенные процессы и остановится.

Для удаления программы необходимо перейти по ниже представленному пути установки программы:
C:\Users(ваше имя пользователя)\AppData\Local\Programs\my-electron-app

После достаточно будет найти в этой папке файл: "Uninstall Task Manager Rebuild.exe" И запустить его

📷 Показать скриншот
Снимок экрана 2025-04-03 082828

Также для поиска папки установки можно использовать поиск Windows:

📷 Показать скриншот
Снимок экрана 2025-04-03 082828

После чего нажать правой кнопкой мыши на ярлык программы и нажать “Расположение файла”

Более полная и подробная документация к проекту представлена по ссылке:
https://docs.google.com/document/d/17OcSIk85LUgKak0WFeBbTfepVfo8L_qiKOXc1syw53w/edit?usp=sharing

About

Task Manager на С++ и Electron

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages