Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Alexaev_OS_4.docx
Скачиваний:
1
Добавлен:
27.09.2019
Размер:
123.65 Кб
Скачать

If Module32First(sh, pme) then

begin

MModule.Lines.Add(PME.szModule);

while Module32Next(SH, PME) do

begin

MModule.Lines.Add(PME.szModule);

i := i + 1;

end;

end

else i := 0;

MModule.Lines.Add('Всего модулей: ' + IntToStr(i));

CloseHandle(SH);

end;

end;

procedure TForm1.SGWindowMouseDown(Sender: TObject; Button: TMouseButton;

Shift: TShiftState; X, Y: Integer);

var

count : Integer;

Chi_hWnd, buflen : longint;

buf : array [0..Max_Char] of Char;

Rect : TRect;

prId,thid : dword;

begin

SGWindow.MouseToCell(X, Y, ColWindow, RowWindow);

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

for count := 1 to SGChildWindow.RowCount - 1 do

SGChildWindow.Rows[count].Clear;

//если не строка с заголовками столбцов, то:

if RowWindow > 0 then

begin

//получить список дочерних окон

Chi_hWnd := GetWindow(StrToInt(SGWindow.Cells[1, RowWindow]), GW_CHILD);

count := 0;

SGChildWindow.RowCount := 2;

while Chi_HWnd <> 0 do

begin

buflen := GetWindowText(Chi_HWnd, @buf, MaX_CHAR);

if buflen > 0 then

begin

SGChildWindow.Cells[0, count + 1] := IntToStr(count + 1);

SGChildWindow.Cells[1, count + 1] := Format('%10d', [Chi_hWnd]);

SGChildWindow.Cells[2, count + 1] := Format('%s', [String(buf)]);

GetWindowRect(Chi_HWnd,Rect);

thId := GetWindowThreadProcessId(Chi_Hwnd,@Prid);

SGChildWindow.Cells[3, count + 1] := IntToStr(Rect.Left);

SGChildWindow.Cells[4, count + 1] := IntToStr(Rect.Top);

SGChildWindow.Cells[5, count + 1] := IntToStr(Rect.Right);

SGChildWindow.Cells[6, count + 1] := IntToStr(Rect.Bottom);

SGChildWindow.Cells[7, count + 1] := IntToStr(Prid);

SGChildWindow.Cells[8, count + 1] := IntToStr(thid);

If IsWindowVisible(Chi_hWnd) then

SGChildWindow.Cells[9, count + 1] := 'true'

else

SGChildWindow.Cells[9, count + 1] := 'false';

Inc(count);

SGChildWindow.RowCount := count + 1;

end;

Chi_hWnd := GetWindow (Chi_hWnd, GW_HWNDNEXT);

end;

end;

end;

end.

Результат работы программы:

Рис. 1 Результат работы программы.

Мордовский государственный университет имени Н.П.Огарёва

Специальность: АСОИиУ

Лабораторная работа

по операционным системам

Получение информации о процессах и потоках

ЛР – 02069964 – ОС – 04 – 12

лабораторная работа № 4

ВЫПОЛНИЛ: ПРОВЕРИЛ:

студенты 241 группы: ____________ 03.04.2012

____________03.04.2012

Алексаев А.Ф. Савкина А.В.

Самылкин А.Д.

Саранск 2012

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]