Как получить текст из списка задач диспетчера задач Windows
#include <stdlib.h>
#include <stdio.h>
#include <windows.h>
#include <commctrl.h>
LVFINDINFO information;
POINT poss;
LVITEM lvi;
void main(void) {
HWND father = FindWindow(NULL, "Gerenciador de Tarefas do Windows");
HWND child = FindWindowEx(father, 0, NULL, NULL);
HWND listview = FindWindowEx(child, 0, "SysListView32", "Processos");
DWORD PID;
GetWindowThreadProcessId(listview, &PID);
HANDLE process = OpenProcess(PROCESS_VM_OPERATION | PROCESS_VM_WRITE | PROCESS_VM_READ | PROCESS_QUERY_INFORMATION,
FALSE, PID);
lvi.cchTextMax = 512;
LPVOID address = VirtualAllocEx(process, NULL, sizeof(LVITEM), MEM_COMMIT, PAGE_READWRITE);
lvi.iSubItem = 0;
printf("%i\n", address);
WriteProcessMemory(process, address, &lvi, sizeof(lvi), NULL);
int indice = SendMessage(listview, LVM_GETITEMTEXT, 1, (LPARAM)&address);
printf("%i\n", indice);
}
Я пытаюсь получить текст из процессов, перечисленных в диспетчере задач, но безуспешно, потому что, когда я запускаю код диспетчера задач, он перестает работать. Как я могу решить эту проблему?