Back to projects
Software Releases
About this project
Accessible Windows Task Manager (.NET C# Replica)
An ultra-lightweight, 100% keyboard-navigable, and screen-reader optimized clone of the Windows Task Manager. It is designed specifically to interface flawlessly with screen readers (like NVDA, JAWS, and Windows Narrator) using standard Windows controls mapped directly to MSAA (Microsoft Active Accessibility) and UI Automation.
♿ Accessibility Features
- Collapsible Process Grouping (Native TreeView Structure):
To prevent duplicate processes (like
chrome.exeorsvchost.exe) from cluttering the list, they are grouped under a single parent entry:- Group (Level 0):
chrome.exe (12 instances) - CPU: 4.5% - RAM: 1204.0 MB - Child Node (Level 1):
PID: 1024 - CPU: 1.2% - RAM: 120.5 MB - Priority: NormalThe native WindowsTreeViewhandles this hierarchy visually and semantically, so screen readers natively announce deep relationships without clutter.
- Group (Level 0):
- Dynamic Native Keyboard Tree Navigation:
All tree-navigation standards are built-in natively:
Right Arrow: Expands the selected collapsed group to reveal its child processes. If already expanded, focuses the first child.Left Arrow:- If focused on an expanded group, collapses it.
- If focused on a sub-process (child entry), instantly jumps focus and selection back up to its parent group entry! This provides a highly intuitive native navigation layout.
- No Auditory Clutter:
Brackets like
[+]or[-]and indentation branches like└─have been completely removed. Screen readers natively announce the node state (“expanded”, “collapsed”), hierarchy depth, and index details natively without reading out extra annoying characters. - Linear Process Announcement:
Arrowing through the tree immediately reads the process or group info in a single cohesive sentence. Auto-refresh has been disabled entirely to prevent screen-reader focus chatter or “rattling”; press
F5to refresh manually. - Global Key Events & Batch Actions:
Perform actions on the currently selected process instantly using standard global keyboard bindings. Actions automatically adjust based on selection:
- Group Selected: Performs the action globally on all child processes in the group (e.g., kill all 12 instances, trim memory for all, or raise/lower priority for all).
- Child Selected: Performs the action on that specific PID only.
- Screen Reader Status Announcements:
Standard WinForms status strips are updated when any operation succeeds or fails. A native accessibility notification is broadcasted (
SystemAlert), forcing the screen reader to announce the action (e.g. “Trimmed memory for 10 of 12 instances of ‘chrome.exe’ (2 failed)”) immediately. - Clean Tab Navigation:
Tab indices are carefully arranged in a circular ring:
- Search Box ➔ Sort Options ➔ Processes Tree ➔ Action Buttons (Kill, Trim, Priority, Refresh).
⌨ Keyboard Shortcuts Quick Reference
| Shortcut | Action | Description |
|---|---|---|
Tab / Shift+Tab |
Navigate Controls | Cycle focus between Search, Sort choices, Tree, and Buttons. |
Up / Down Arrow |
Select Process | Navigate and select processes in the tree. Screen reader reads full state. |
Right Arrow |
Expand Group | Expands the selected collapsed group to reveal its child processes. |
Left Arrow |
Collapse / Parent | Collapses an expanded group, or jumps focus instantly to the parent group. |
Delete |
Kill Process | Instantly terminates selected process or group (opens confirmation dialog). |
Ctrl + T |
Trim Memory | Trims physical Working Set memory pages of the selected process/group. |
Ctrl + Up Arrow |
Priority Up | Increases priority class of the selected process/group. |
Ctrl + Down Arrow |
Priority Down | Decreases priority class of the selected process/group. |
Ctrl + F |
Go to Search | Instantly focuses and selects the Search box (to filter by name/PID). |
F5 |
Refresh Tree | Manually refreshes the processes tree immediately while preserving selection and expanded states. |
🛠 Compilation (No Downloads Required!)
Windows includes the C# compiler (csc.exe) by default. You can compile this project in less than a second without installing Visual Studio or downloading any packages.
- Open PowerShell or Command Prompt.
- Navigate to the project folder (
e:\ai-user\AccessibleTaskMgr). - Run the following command:
& "C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe" /target:winexe /out:AccessibleTaskMgr.exe *.cs - This will output a single, lightweight executable:
AccessibleTaskMgr.exe(~21 KB).
🛡 Running with Administrator Privileges
To modify system-critical processes (like explorer.exe, services, or tasks owned by other users), the Accessible Task Manager must be run with Administrator rights.
- How to run as Admin: Right-click on
AccessibleTaskMgr.exeand select Run as Administrator, or open an elevated PowerShell prompt and execute it. - Graceful Error Handling: If run as a standard user, attempting to modify system processes will display an accessible dialog box stating: “Access Denied. Try running this application as Administrator.”