|
Шаг 35 - Список процессов.
Продолжаем изучать возможности ToolHelp.Dll. Давайте создадим консольное приложение и сразу код.
// TestThread.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "windows.h"
#include "iostream.h"
#include "tlhelp32.h"
int main(int argc, char* argv[])
{
HANDLE hSnap = NULL;
THREADENTRY32 te32;
hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0);
if (hSnap!=NULL)
{
if (Thread32First(hSnap, &te32))
{
cout << te32.th32ThreadID << " " << te32.th32OwnerProcessID << endl;
while (Thread32Next(hSnap, &te32))
cout << te32.th32ThreadID << " " << te32.th32OwnerProcessID << endl;
}
}
CloseHandle(hSnap);
return 0;
}
Методика таже самая. Соединяемся с ToolHelp, только теперь смотрим Thread32First() и Thread32Next(), которые возвращают результат в структуру THREADENTRY32, из которой я пока извлек два параметра. Это идентификатор потока th32ThreadID и процесса, который этот поток породил th32OwnerProcessID и Вы увидите, что у процесса много потоков.
Предыдущий Шаг | Следующий Шаг | Оглавление By Artem.
Используются технологии uCoz
|