C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 35 - Список процессов / Win 32 API / Win32 API

Шаг 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 и Вы увидите, что у процесса много потоков.


| |
Автор Каев Артем.
[AD]