Listing Processes – Part 5: Using Windows Management Instrumentation (WMI)

Using Win32_Process WMI class

A previous article shows how to use Win32_PhysicalMedia WMI class to get physical drive info. We can write something similar for getting a list of running processes. All we have to do is to replace the WQL query and get specific properties for Win32_Process. However, to simplify the things, I wrote few C++ wrapper classes over the WMI stuff.
Here is a brief description for each one:

    • CWMIConnection – opens and keeps a connection to WMI namespace.
    • CWMIQuery – executes WQL (SQL for WMI) queries and navigates through results.
    • CWMIWin32_Process – is derived from CWMIQuery and is specialized for Win32_Process.
    • CWMIValue – a class that gets user readable strings from different CIM types.

The implementation details can be found in the attached demo project.
Let’s show now just a usage example, that fills a list-view control with info about running processes.

Demo project

The demo project is a simple MFC dialog-based application that uses WMI wrapper classes to list and get info about running processes.
Download: Listing_Processes__Using_WMI.zip (1193)

 

Using WMI - Demo Application

Using WMI – Demo Application

 

Resources

See also

Leave a Reply