|
Шаг 32 - Сканируем список процессов.
В прошлом шаге мы убедились, что у нас нет инструмента, с помощью которого мы можем просмотреть список всех процессов в Windows 98. Но мы можем такой инструмент создать. В свое время Microsoft создала специальную библиотеку ToolHelp.Dll, используя которую можно получить доступ к информации о системе. Вот мы с ее помощью и попробуем получить список процессов.
Итак, давайте создадим приложение на базе MFC AppWizard и как Dialog Based. Поместим на диалог кнопку и элемент управления ListBox, который свяжем с помощью ClassWizard с переменной m_List1 типа Control и напишем код реакции на нажатие кнопки:
// ScanProcessDlg.cpp : implementation file
//
#include "stdafx.h"
#include "ScanProcess.h"
#include "ScanProcessDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
#include "tlhelp32.h"
......
void CScanProcessDlg::OnScan()
{
m_List1.ResetContent();
HANDLE hSnap;
hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
if (hSnap == NULL)
{
AfxMessageBox("Error Load ToolHelp");
}
PROCESSENTRY32 proc;
if (Process32First(hSnap, &proc))
{
m_List1.AddString(proc.szExeFile);
while (Process32Next(hSnap, &proc))
{
m_List1.AddString(proc.szExeFile);
}
}
}
В заголовочном файле tlhelp32.h находятся описания функций.
Если вы посмотрите результат работы этой программы, то увидите, что процессов намного больше. В том числе и сможете увидеть процессы, которые не видели в прошлом шаге.
Предыдущий Шаг | Следующий Шаг | Оглавление By Artem.
Используются технологии uCoz
|