Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Взаимодействие с процессами в рамках платформы .NET - файл 1.doc


Взаимодействие с процессами в рамках платформы .NET
скачать (484.5 kb.)

Доступные файлы (1):

1.doc485kb.24.11.2011 08:48скачать

содержание
Загрузка...

1.doc

Реклама MarketGid:
Загрузка...
Вариант № 1

Тема: Взаимодействие с процессами в рамках платформы .NET

Цель контрольной работы: Изучить члены пространства имен System.Diagnostic: Process, ProcessModule, ProcessModuleCollection, ProcessThread, ProcessThreadCollection; закрепить на практике сведения о внутреннем устройстве процессов, потоков, доменов приложений, контекстов и хостов CLR в операционной системе Windows.

Задание: Написать программу, которая выводит список всех процессов запущенных на локальной машине, а также их идентификаторов. В программе также должна быть реализована возможность вывода времени начала запуска потока операционной системой и его уровень приоритета по введенному ID процесса. В программе необходимо выводить информацию о всех загруженных модулях указанного процесса. В программе необходимо реализовать запуск процесса iexplore.exe и уничтожение этого процесса методом Kill(). В качестве языка программирования использовать язык С#.

^ Листинг программы

using System;

using System.Diagnostics;

class Myclass{

public static void ListAllRunningProc()

{

//Получение списка процессов, выполняемых на данной машине

Process[] runningProc = Process.GetProcesses(".");

int i = 0;

//Печать значения PID и имени каждого процесса

foreach(Process p in runningProc){

i++;

string info = string.Format("->PID: {0}\tИмя: {1}", p.Id, p.ProcessName);

Console.WriteLine(info);
}

Console.WriteLine("Общее количество процессов: "+i);

Console.WriteLine("**********************************\n");

}

public static void EnumThreadsForPid(int Pid)

{

Process theProc;

try

{

theProc = Process.GetProcessById(Pid);
}

catch

{

Console.WriteLine("-> Извините, некорректное значение PID!");

Console.WriteLine("*************************************\n");

return;

}

//Вывод информации для каждого потока указанного процесса

Console.WriteLine("Это потоки, выполняемые в рамках {0}", theProc.ProcessName);

ProcessThreadCollection theThreads = theProc.Threads;

foreach(ProcessThread pt in theThreads){

string info =

string.Format("-> ID: {0}\tВремя запуска {1}\tПриоритет {2}",

pt.Id, pt.StartTime.ToShortTimeString(), pt.PriorityLevel);

Console.WriteLine(info);
}

Console.WriteLine("**********************************\n");

}

public static void EnumModsForPid(int Pid)

{

Process theProc;

try

{

theProc = Process.GetProcessById(Pid);
}

catch

{

Console.WriteLine("-> Извините, некорректное значение PID!");

Console.WriteLine("*************************************\n");

return;

}

//Вывод информации о загруженных модулях указанного процесса

Console.WriteLine("Загруженные модули для {0}: ", theProc.ProcessName);

try

{

ProcessModuleCollection theMods = theProc.Modules;

foreach (ProcessModule pm in theMods)

{

string info = string.Format("-> Имя модуля: {0}", pm.ModuleName);

Console.WriteLine(info);
}

Console.WriteLine("***********************************\n");

}

catch

{

Console.WriteLine("Модулей не обнаружено!");

}

}

public static void StartandKillProcess()

{

//Запуск Internet Explorer

Process ieProc = Process.Start("IExplore.exe", "www.eurosport.ru");

Console.Write("-> Нажмите <Enter>, чтобы завершить {0}...", ieProc.ProcessName);

Console.ReadLine();

//Завершение процесса iexplorer.exe

try

{

ieProc.Kill();

}

catch

{

//Если пользователь уже завершил процесс

}

}

public static void Main()

{

ListAllRunningProc();

Console.WriteLine("****Введите значение PID процесса****");

Console.Write("PID: ");

string Pid = Console.ReadLine();

int TheProcId = int.Parse(Pid);

EnumThreadsForPid(TheProcId);

EnumModsForPid(TheProcId);

StartandKillProcess();
Console.ReadKey();

}

}

На рисунках 1-5 показаны результаты работы программы.


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



Рисунок 2 – Результаты работы программы



Рисунок 3 – Результаты работы программы



Рисунок 4 – Результаты работы программы



Рисунок 5 – Результаты работы программы


Выполнил __________________________
Проверил: ст. преп. каф. ВЭА Дубенко Ю.В.__________________________


Скачать файл (484.5 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации