Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
0831039_235F5_dispetcher_zadach.doc
Скачиваний:
20
Добавлен:
11.03.2015
Размер:
455.68 Кб
Скачать

2 Решение задачи

Для создания программы использовался язык программирования Delphi (можно использовать C++ Builder, сложностей в переводе не возникнет).

Система визуального объектно-ориентированного проектирования Delphi позволяет:

  1. Создавать законченные приложения для Windows самой различной направленности.

  2. Быстро создавать профессионально выглядящий оконный интерфейс для любых приложений; интерфейс удовлетворяет всем требованиям Windows и автоматически настраивается на ту систему, которая установлена, поскольку использует функции, процедуры и библиотеки Windows.

  3. Создавать свои динамически присоединяемые библиотеки компонентов, форм, функций, которые потом можно использовать из других языков программирования.

  4. Создавать мощные системы работы с базами данных любых типов.

  5. Формировать и печатать сложные отчеты, включающие таблицы, графики и т.п.

  6. Создавать справочные системы, как для своих приложений, так и для любых других.

  7. Создавать профессиональные программы установки для приложений Windows, учитывающие всю специфику и все требования операционной системы.

2.1 Методы решения и алгоритмы

Таблица процессов и окон отображается на двух закладках processes и windows, соответственно. Список процессов и окон выводится посредством элементов ListView. Управление и получение дополнительной информации об окне/процессе осуществляется через контекстное меню PopUpMenu1 и PopUpMenu2 (щелчок правой кнопкой на строке в списке ListView1 или ListView2, соотвественно).

Интерфейс программы приведён на рисунке 1

Рисунок 1 – Интерфейс программы

Основные функции и процедуры проекта:

//процедура составления списка процессов

procedure ListProcesses;

//процедура составления списка окон

procedure ListWindows;

//процедура составления списка модулей

procedure ListModules(OwnerID: Cardinal);

//процедура составления списка потоков

procedure ListThreads(OwnerID: Cardinal);

//процедура составления списка куч (heap)

procedure ListHeaps(OwnerID: Cardinal);

//процедура составления списка окон для текущего процесса

procedure ListThreadWindows;

//обработчики событий

//создание формы

procedure TForm1.FormCreate(Sender: TObject);

//выделение элемента списка процессов

procedure TForm1.ListView1Click(Sender: TObject);

//двойное нажатие процесса

procedure TForm1.ListView1DblClick(Sender: TObject);

//обработка нажатия кнопок клавиатуры

procedure TForm1.ListView1KeyUp(Sender: TObject; var Key: Word;

//нажатие пункта "Details" контестного меню

procedure TForm1.Details1Click(Sender: TObject);

//нажатие пункта "Kill process" контестного меню

procedure TForm1.KillProcess1Click(Sender: TObject);

//нажатие пункта "Refresh List" контестного меню

procedure TForm1.RefreshList1Click(Sender: TObject);

//нажатие пункта "Close Window" контестного меню

procedure TForm1.CloseWindow1Click(Sender: TObject);

//нажатие пункта "Refresh List" контестного меню

procedure TForm1.RefreshList2Click(Sender: TObject);

//обновление по таймеру информации об использовании ОП

procedure TForm1.Timer1Timer(Sender: TObject);

//процедуры установки приоритета

procedure SetPriority(priority:integer);

//установка низкого приоритета

procedure TForm1.Idle1Click(Sender: TObject);

//установка нормального приоритета

procedure TForm1.Normal1Click(Sender: TObject);

//установка высокого приоритета

procedure TForm1.High1Click(Sender: TObject);

//установка приоритета реального времени

procedure TForm1.Realtime1Click(Sender: TObject);

На рисунке 2 представлена схема работы программы

Рисунок 2 – Схема работы диспетчера задач

Рисунок 3 – Диаграмма вариантов использования