Task Manager Extension

.

Overview

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!

Usage

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.

Credits

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

Warning

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

Downloads

Download source code - 55 KB
Download executables - 113 KB


Comments

  • Updated version available

    Posted by pantaz on 10/29/2005 06:16am

    CodeProject.com has an update on this project:
       Task Manager Extension 2.0
       By Sergey Kolomenkin
    http://www.codeproject.com/system/Task_Manager_Extension.asp

    • Task Manager Extension 2.0 is available! Updated URL!

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

      CodeProject.com has an update on this project:
         Task Manager Extension 2.0
         By Sergey Kolomenkin
      
      http://www.codeproject.com/KB/system/Task_Manager_Extension.aspx

      Reply
    Reply
  • No Color for System Processes

    Posted by Legacy on 02/06/2004 12: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.

    Reply
  • TaskManager with Exe File

    Posted by Legacy on 01/20/2004 12: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()
    {
    CDialog::OnDestroy();

    // TODO: Add your message handler code here
    CString Result;
    BOOL Found = FALSE;
    STARTUPINFO StartupInfo;
    PROCESS_INFORMATION ProcessInfo;
    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;
    _chdir(PathName);
    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
    }
    }

    Reply
  • Seeing source of a process

    Posted by Legacy on 10/20/2003 12: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.

    Thanks

    Thor

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

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

    Originally posted by: Bar�aBoy

    REALLY REALLY NICE!!!!!!!!

    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!

    Reply
  • Impressive work!

    Posted by Legacy on 06/11/2003 12: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!

    Reply
  • Find used processe on Right clic !

    Posted by Legacy on 05/15/2003 12: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...

    exemple:

    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 ?!?!

    :-)

    Reply
  • dont work on XP pro, German. Why?

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

    Originally posted by: 12

    so what must i do?!

    (yes i can ctrl-alt-del)

    Reply
  • taskmanager help - unlock a file

    Posted by Legacy on 03/11/2003 12: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

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

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

    Originally posted by: Oscar Zhuk

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

    Reply
  • Loading, Please Wait ...

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

Top White Papers and Webcasts

  • Live Event Date: December 11, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT Market pressures to move more quickly and develop innovative applications are forcing organizations to rethink how they develop and release applications. The combination of public clouds and physical back-end infrastructures are a means to get applications out faster. However, these hybrid solutions complicate DevOps adoption, with application delivery pipelines that span across complex hybrid cloud and non-cloud environments. Check out this …

  • With the average hard drive now averaging one terabyte in size, the fallout from the explosion of user-created data has become an overwhelming volume of potential evidence that law-enforcement and corporate investigators spend countless hours examining. Join Us and SANS' Rob Lee for our 45-minute webinar, A Triage and Collection Strategy for Time-Sensitive Investigations, will demonstrate how to: Identify the folders and files that often contain key insights Reduce the time spent sifting through content by …

Most Popular Programming Stories

More for Developers

RSS Feeds