




Изучите возможность использования Perfmon API (см. Ссылки в MSDN).
В качестве альтернативы можно использовать интерфейс WMI, чтобы узнать, что работает, и предпринять соответствующие действия. В приведенном ниже коде VBScript подсистема WMI запрашивается с помощью Select * from Win32_Process, чтобы изменить приоритет процесса. Узнайте, какие еще атрибуты доступны для Win32_Process, и вы должны найти то, что движется в том направлении, в котором вы хотите двигаться.
Const NORMAL_PRIORITY = 32
Const LOW_PRIORITY = 64
Const REALTIME_PRIORITY = 128
Const HIGH_PRIORITY = 256
Const BELOWNORMAL_PRIORITY = 16384
Const ABOVENORMAL_PRIORITY = 32768
Function SetPriority( sProcess, nPriority )
Dim sComputer
Dim oWMIService
Dim cProcesses
Dim oProcess
Dim bDone
bDone = False
sComputer = "."
Set oWMIService = GetObject("winmgmts:\" & sComputer & "\root\cimv2")
Set cProcesses = oWMIService.ExecQuery ("Select * from Win32_Process Where Name = '" & sProcess & "'")
For Each oProcess in cProcesses
oProcess.SetPriority( nPriority )
bDone = True
Next
SetPriority = bDone
End Function
Самый непристойный способ сделать это - способ Google-desktop
А именно, чтобы ваша DLL загружалась в каждый запускаемый процесс и регистрировала информацию.
Если вас интересует больше, установите рабочий стол Google и посмотрите, как его DLL загружается в ваши процессы. Затем посмотрите в реестр, чтобы убедиться, что это действительно так.
Помните, что это входит в сферу поведения, подобного вирусу.
Я бы использовал функцию PSAPI EnumProcesses (), чтобы периодически получать список запущенных процессов.
Вы можете настроить постоянную подписку на события WMI, чтобы отслеживать создание процесса и регистрировать подробности. У меня есть несколько образцов здесь - один из образцов отслеживает создание notepad.exe и записывает события в текстовый файл. Постоянная подписка на события отслеживает события «в любое время», но если вы хотите отслеживать события «на протяжении всего приложения», вы можете использовать WMI COM API с C++ - запрос событий WQL одинаков в обоих случаях. Документация - здесь.