Диспедчер задач на c/c++
Вот такое вот задание - Используя язык С++, и его встроенные функции, реализовать аналог диспетчера задач, который бы выводил список запущенных процессов в системе, их имена id, приоритет, занимаемую память и загрузку процессора, в консоль. Аналогом в windows является команда «tasklist» в командной строке. Использовать конструкцию system(«tasklist» ) - запрещено. Для понятия того что от вас требуется, откройте консоль (win+r→cmd) и введите конманду tasklist. Если возникают проблемы с доступом, откройте консоль с правами администратора. Для меня как для начинающего оно очень сложное и всё что я смог нарыть это вывод процесса и его айдишника.Вот что у меня есть на данный момент.
#include <Windows.h>
#include <TlHelp32.h>
#include <stdio.h>
#include <string.h>
#include <psapi.h>
int main(int argc, char* argv[])
{
STARTUPINFO si = { 0 };
PROCESS_INFORMATION pi = { 0 };
HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (!hSnap)
{
wprintf(L"Can't get handle of snapshot process!\n");
return 1;
}
PROCESSENTRY32 pe = { 0 };
pe.dwSize = sizeof(PROCESSENTRY32);
HANDLE process = { 0 };
Process32First(hSnap, &pe);
do
{
wprintf(L"\n\t%s\t\t\t%d\t%d",
pe.szExeFile, pe.th32ProcessID, pe.cntThreads);
if (!wcscmp(pe.szExeFile, L"winAPI_Console.exe"))
process = OpenProcess(PROCESS_ALL_ACCESS, TRUE, pe.th32ProcessID);
} while (Process32Next(hSnap, &pe));
CloseHandle(hSnap);
if (process)
{
TerminateProcess(process, 0);
CloseHandle(process);
}
}```