Task Manager Extension


Desktop-as-a-Service Designed for Any Cloud ? Nutanix Frame



This is an extension for the Windows Task Manager (NT/2000). The features are the following:

  • Show Application icons in Processes list (if available)
  • Use different color for services
  • Find a used file by any process. (Use * as file name for showing every used file)
    (The search is a full text search, so for example you can use the extension only) 
  • Find a used module by any process
    (The search is a full text search, so for example you can search for "kernel") 
  • Show Process ID in Applications tab
  • Use different color for processes if the CPU usage reaches a given limit ( 25%, 50%, 75% )
  • Query list of every files, handles, modules, windows used by a given process
  • Close a used file (you can unlock an exclusively opened file, so you can delete it)
  • Unload a used module (so you can delete it)
  • You can kill services too
  • Fast end process. Press DEL key!

For best performance you have to be an administrator!


Copy the TaskManagerEx.exe and TaskManagerEx.Dll to a directory and then execute TaskManagerEx.exe. This executable will hook every instance of Task Manager. If you want to start TaskManagerEx.exe automatically, create a shortcut in the Startup folder.


Thanks to everybody who contributed anything on http://www.codeguru.com. Especially for the List View section! 
System information classes: http://www.codeguru.com/system/ntsysteminfo.shtml.
Remote module load/unload: http://www.codeguru.com/dll/LoadDll.shtml


If you close or unload any file/handle from a process, it can crash.

Known bugs

  • Sometimes TaskManager.exe crashes after start. Start it again!
  • If you query used files on NT4, the Messenger service brings up a dialog. I don't know why :)

Bug fixes

  • Set priority sub menu fix 3/26/2001
  • Internationalization fix (Using Taskmgr caption from resources) . Thanks Dominique Faure! 3/30/2001


  • Updated version available

    Posted by pantaz on 10/29/2005 01:16pm

    CodeProject.com has an update on this project:
       Task Manager Extension 2.0
       By Sergey Kolomenkin

    • Task Manager Extension 2.0 is available! Updated URL!

      Posted by Sergey Kolomenkin on 07/06/2009 08:14pm

      CodeProject.com has an update on this project:
         Task Manager Extension 2.0
         By Sergey Kolomenkin

  • No Color for System Processes

    Posted by Legacy on 02/06/2004 08:00am

    Originally posted by: Robin Siebler

    I've tried on Win2k and WinXP and I don't see system processes in a different color. Using different colors if the CPU usage reaches a set level doesn't work either.

  • TaskManager with Exe File

    Posted by Legacy on 01/20/2004 08:00am

    Originally posted by: eddieeceu

    1. Do you know any command that can control TaskManager to prevent user select the program file (example a.exe)? 

    2. Or when the user terminate the program file (example a.exe) in TaskManager, the program will be run again. In the other word, I want to disallow user to use TaskManager to End Task my program.

    I have try to use OnDestroy() but I fail to control when user use TaskManager to End Task my program..

    void CWykoTransferDlg::OnDestroy()

    // TODO: Add your message handler code here
    CString Result;
    BOOL Found = FALSE;
    STARTUPINFO StartupInfo;
    CString CurrentDir;

    CString FullPathName;
    CString PathName;
    CString Prog;
    char Temp1[256];

    // set working directory
    ::GetModuleFileName(NULL, Temp1, 255);
    FullPathName = Temp1;
    PathName = FullPathName.Left(FullPathName.ReverseFind('\\') +1);
    Prog = FullPathName;
    CWnd* pPrevWnd = CWnd::GetDesktopWindow()->GetWindow(GW_CHILD);

    while(pPrevWnd && !Found)
    // Does this window have the 'previous instance tag' set?
    if (::GetProp(pPrevWnd->GetSafeHwnd(), Prog)) // Found window
    Found = TRUE;
    else // Did not find window, get next window in list...
    pPrevWnd = pPrevWnd->GetWindow(GW_HWNDNEXT);

    if (!Found)
    memset(&StartupInfo, 0, sizeof(StartupInfo));
    StartupInfo.cb = sizeof(StartupInfo);

    CurrentDir = Prog.Left(Prog.ReverseFind('\\') + 1);

    Result = CreateProcess(Prog, // Executable file
    NULL, // Command Line
    NULL, // Process Security Attributes
    NULL, // Thread Security Attributes
    FALSE, // Inherit parent handles
    0, // Create flags
    NULL, // Environment variables
    CurrentDir, // Current directory
    &StartupInfo, // Startup Information
    &ProcessInfo); // Filled in by CreateProcess

  • Seeing source of a process

    Posted by Legacy on 10/20/2003 07:00am

    Originally posted by: thor

    Is it possible to trace the origin of a process in the process list? e.g. some spy processes come in and it is not possible to see from the names of the processes to whom they belong. It would be very nice to be able to trace the origin of a process. Is it maybe possible with the files option?

    This is a very good extension of taskManager.



  • Sweet!! One of the best programs i've seen

    Posted by Legacy on 06/15/2003 07:00am

    Originally posted by: Bar�aBoy


    why don't you post this on http://www.planet-source-code.com

    you should easyly win the Contest of the month!!

    have you seen the prices??

    just add it man its great!!
    i'll give you much excelent ratings and then you'll get really nice prices!!

    do it!

  • Impressive work!

    Posted by Legacy on 06/11/2003 07:00am

    Originally posted by: Robert Alm

    Disregarding the slight "hack" feeling due to relying on window titles and static dialog-item id's and addresses etc, I must say this (the sourcecode mostly) is an impressive show of how to really dig deep into the processes and workings of Windows.

    Good job!

  • Find used processe on Right clic !

    Posted by Legacy on 05/15/2003 07:00am

    Originally posted by: Flash

    A sugestion...

    Put an item on right clic of any thing in windows file systeme (Drive, Folder, File) that find and show all processes used...


    I have a software run in folder "MySuperSoftware" but, this folder content 40 subfolders and 1200 files.... heee i realy dont know what file on it is used by windows...

    You know the catch ?!?!


  • dont work on XP pro, German. Why?

    Posted by Legacy on 05/02/2003 07:00am

    Originally posted by: 12

    so what must i do?!

    (yes i can ctrl-alt-del)

  • taskmanager help - unlock a file

    Posted by Legacy on 03/11/2003 08:00am

    Originally posted by: Kal

    How can i find the process that has a lock on a particular file. 

    Example : when I try to access a particular file(using windows explorer - example of access rename), I am getting the following error.

    "Sharing violation - File already in use by another process".

    I am quite sure that the process that use the locked file is closed. Still the file is locked. So I would like to see whether this util can help me to find which process has locked the file.

    This is on a local desktop and not on a server.

    thanks in advance

  • How can I put processes info from the Task Manager to a file?

    Posted by Legacy on 01/31/2003 08:00am

    Originally posted by: Oscar Zhuk

    How can I put all processes info from the Windows Task Manager to a file? Is it possible?

  • Loading, Please Wait ...

  • You must have javascript enabled in order to post comments.

Leave a Comment
  • Your email address will not be published. All fields are required.

Most Popular Programming Stories

More for Developers

RSS Feeds

Thanks for your registration, follow us on our social networks to keep up-to-date