п даних отформатированного значення. У додатку використовуємо значення PDH_FMT_DOUBLE. p align="justify"> Третій параметр lpdwType-цей параметр є додатковим. У нашому випадку встановлюємо NULL. p align="justify"> Четвертий параметр pValue - структура PDH_FMT_COUNTERVALUE, яка отримує значення лічильника.
. Оновлення списку запущених процесів
Для цього треба спочатку видалити лічильники із запиту це робимо функцією
PDH_STATUS PdhRemoveCounter (PDH_HCOUNTER hCounter).
Дві наступні функції будуть потрібні для завершення виділеного процесу в таблиці. Це функціяOpenProcess (DWORD dwDesiredAccess, bIn-heritHandle, dwProcessId). p align="justify"> Функція повертає дескриптор існуючого процесу.
Перший параметр dwDesiredAccess - прапор визначальний доступ до процесу. У курсовій роботі будемо використовувати прапор PROCESS_TERMINATE необхідний для завершення роботи процесу з використанням функції TerminateProcess. p align="justify"> Другий параметр bIn-heritHandle - прапор, який вказує, чи є створюваний дескриптор спадкоємною. Він встановлений в значення TRUE це означає, що дескриптор наслідуваний. p align="justify"> Третій параметр dwProcessId - ідентифікатор процесу.
І друга функція (рядок 180) завершує роботу заданого процесу і всіх його потоків:
BOOL TerminateProcess (HANDLE hProcess, UINT uExitCode).
Перший параметр hProcess - дескриптор процесу.
Другий параметр uExitCode - код завершення процесу. Цей параметр в курсовому проекті встановлюємо NULL. p align="justify"> Функція використовується для закриття відкритого дескриптора об'єкта
BOOL CloseHandle (HANDLE hObject).
Параметр hObject - дескриптор об'єкта.
Для визначення виділеної рядки в даний момент часу скористаємося обробником події таблиці OnSelectCell де змінна з отримує номер виділеної рядки.
Наступна мінлива b отримує ідентифікатор процесу (PID), але перед цим витягнутий ідентифікатор з таблиці переведемо з типу AnsiString в тип int.
Тестування
На даному етапі розробки необхідно перевірити правильність роботи програми та відповідність вимогам. При запуску додаток компілюється без помилок і попереджень. У полі відображаються імена запущених процесів на даному локальному комп'ютері і всі значення лічильників. Таблиця періодично оновлюється. p align="justify"> Для тестування цього додатка відкривалися програми В«БлокнотВ» і В«WordВ». У таблиці відобразилися запущені процеси. При виділенні користувачем одного із запущених процесів після натискання кнопки В«Завершення процесуВ» процес завершувався. br/>В
Рис 2.1 Головне вікно програми