In this article, I would like to showcase a small utility which I developed for keeping track of
some process management tasks using a pleasant user interface. The bare idea I had in mind
was to develop a utility which can sit in the system tray and provide a mechanism to keep track of process startups and shutdowns and show the alert using some UI dialog. The utility being
developed is based on the mechanism of WMI architecture. It uses WMI to query process list, and to set process event handler.
So, now let’s start exploring the tour of this utility. Download and extract the source with this
article. You will find one executable ProcessViewer.exe. Start the executable. The startup
screen will look alike as follows:
The initial dialog as shown above displays all running process list with some basic details about
their memory usage, processor time allocated, no. of threads, process startup time, and most
important process ID.
Now, the main use of this utility comes into picture i.e. setting a process alert. For setting a
process alert select a process from display process list, by click the process name, or you can
enter a process executable if you want to set alert for process which is not started yet. After
selecting or inputting the process details the main window look like as follows:
In above displayed dialog, and alert has been set for calc.exe i.e. calculator utility for Windows.
As you may notice the calculator utility has not yet started, but the alert has been set.
Now, go to Start>Run, Type calc and press Enter.
The calculator utility will start, and the alerts will popup in System tray, as shown below.
As you have seen alert has shown that process is started, now close the Calculator application and wait to see, what will happen. You will be greeted with Process shutdown alert as shown below:
The utility I discussed above is just in preliminary stage, I will enhance it as I will get used to it, but for now it is proper showcase of how to use WMI architecture to leverage the process event monitoring. This simple utility can be extended to shoot up mails for process shutdown/startups and can be very useful for Administrators.
The utility shown in this article uses WMI architecture for implementation. Basic familiarity with WMI is required to understand the code submitted with article. One may have a look into other contributions on CodeProject as listed follows:
PS: This article having no relation with above mentioned contributions, one may use above for
getting some basic introduction to WMI.
Initial Revision 1.0 : By Ashu Fouzdar on May 21 2008.
Ashutosh is an avid programmer, who “lives to code”. One can always find him busy seeking challenging programming assignments on various complex problems ranging from Data management, Classification, Optimization, Security, Network analysis, Distributed computing.
He started his programming stint with “C”; he has also worked on C++, Visual Basic, JAVA, Perl, FoxPro, PASCAL, Shell Scripting, and Perl. Currently, he is proficient and working on C#.
His area of interest includes Distributed Computing, Analytic and Business Intelligence, Large Enterprise System Architectures, Enterprise Content Management.
He is an advocate of Open source and likes to share solutions with open source communities like
Prize winner in Competition "Best article of May 2008"
Click to see my CodeProject Articles
Share a solution | Explore the .NET world
His Favorite(s) :
nHibernate - The best ORM
nHibernate Contributed Tools