Skip to content

A Windows Task Manager clone in C with real-time CPU, memory, and disk monitoring. Features include process termination, live performance graphs, resource-heavy process highlighting, thread counts, and smooth double-buffered UI rendering using the Win32 API.

Notifications You must be signed in to change notification settings

ThangakumarC/TaskManager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 

Repository files navigation

Task Manager

This repository contains an advanced Windows Task Manager application implemented in C. The application provides real-time monitoring and management of system processes, CPU, memory, and disk usage, featuring a graphical user interface with enhanced features over the default Windows Task Manager.

Features

  • Process List: Displays all running processes with details such as name, PID, memory usage, thread count, CPU usage, runtime, and system status.
  • End Task: Allows users to terminate selected processes directly from the interface.
  • Performance Graphs: Real-time compact graphs for CPU, memory, and disk usage, showing historical data.
  • Process Highlighting: Visually indicates high CPU/memory usage, long-running processes, and system processes with distinct colors.
  • Thread Counting: Shows the number of threads for each process.
  • Sorting: Processes are sorted by memory usage for quick identification of resource-heavy processes.
  • Refresh: Manual refresh and periodic automatic updates of the process list and metrics.
  • Double Buffering: Smooth UI rendering with reduced flickering.
  • Custom Icons: Displays file icons for processes where available.

Getting Started

Prerequisites

  • Windows OS
  • MinGW or Visual Studio (for building)
  • Required libraries: comctl32, psapi, pdh, uxtheme, shell32

Building

  1. Clone the repository:

    git clone https://github.com/ThangakumarC/os.git
    cd os
  2. Compile the taskmgr source file:

    gcc taskmgr -o TaskManager.exe -lcomctl32 -lpsapi -lpdh -luxtheme -lshell32

    Or open the project in Visual Studio and build as a Windows Desktop Application.

Running

Run the executable:

TaskManager.exe

You will see the main window with tabs, process list, and performance graphs.

Usage

  • Refresh: Click "Refresh" to update the process list manually.
  • End Task: Select a process and click "End Task" to terminate it.
  • Performance: View live graphs for CPU, memory, and disk usage.
  • Sorting & Highlighting: Resource-heavy or long-running processes are automatically highlighted.

Code Structure

  • taskmgr: The main source file containing UI, process management, and system performance logic.
  • Uses Win32 API for window management, process enumeration, and performance counters.

Contributing

Pull requests and suggestions are welcome! Please open issues for bugs or feature requests.

License

This project is open-source and available under the MIT License.

Author

Developed by ThangakumarC.

About

A Windows Task Manager clone in C with real-time CPU, memory, and disk monitoring. Features include process termination, live performance graphs, resource-heavy process highlighting, thread counts, and smooth double-buffered UI rendering using the Win32 API.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published