Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Топ:
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Интересное:
Уполаживание и террасирование склонов: Если глубина оврага более 5 м необходимо устройство берм. Варианты использования оврагов для градостроительных целей...
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Дисциплины:
2017-06-11 | 503 |
5.00
из
|
Заказать работу |
|
|
В качестве упражнения рекомендуется осуществить прогон программы, создающей дочерний процесс.
//Практическое занятие № 23
//Группа xxxxxx Терминал N ФИО
#include "stdafx.h"
#include "windows.h" // win32 API
#include <locale.h> // подключение Русского языка
#include <iostream> // инструкции c++ std,cout,cin …
using namespace std; // пространство стандартных имен */
Void main(VOID)
{
STARTUPINFO StartupInfo;
PROCESS_INFORMATION ProcInfo;
TCHAR TCommandLine[] = TEXT("sleep 30");
ZeroMemory(&StartupInfo, sizeof(StartupInfo));
StartupInfo.cb = sizeof(StartupInfo);
ZeroMemory(&ProcInfo, sizeof(ProcInfo));
setlocale(LC_ALL,"RUS");
if(!CreateProcess(NULL, // Не используется имя модуля
TCommandLine, // Командная строка
NULL, // Дескриптор процесса не наследуется.
NULL, // Дескриптор потока не наследуется.
FALSE, // Установка описателей наследования
Нет флагов создания процесса
NULL, // Блок переменных окружения родительского процесса
NULL, // Использовать текущий каталог родительского процесса
&StartupInfo, // Указатель на структуру STARTUPINFO.
&ProcInfo) // Указатель на структуру информации о процессе.
) cout << "процесс не запущен" << endl;
// Ждать окончания дочернего процесса
cout << "Ждем окончания процесса 30 секунд" << endl;
WaitForSingleObject(ProcInfo.hProcess, INFINITE);
// Закрыть описатели процесса и потока
CloseHandle(ProcInfo.hProcess);
CloseHandle(ProcInfo.hThread);
}
/* При выполнении данной практической работы я освоил
.
*/
В приведенной программе имя запускаемого модуля передается через второй параметр функции CreateProcess. В примере в качестве дочерней программы используется простейшая системная программа sleep 30, задача которой - выдержать паузу длительностью 30 секунд.
При завершении процесса сопоставленный с ним объект ядра "процесс" не освобождается до тех пор, пока не будут закрыты все внешние ссылки на этот объект.
|
Практическое занятие №22
1 Краткие теоретические сведения:
Формируем программу отображающую файл Readme.txt в виде объекта MyFileObject в оперативную память с помощью системных функций
Системная функция CreateFile
Системная функция CreateFileMapping
Системная функция GetLastError
Практическая часть
//Практическое занятие № 22
//Группа xxxxxx Терминал N ФИО
#include "stdafx.h"
#include "windows.h" // win32 API
#include <iostream> // инструкции c++ std,cout,cin …
#include <stdio.h>
using namespace std; // пространство стандартных имен */
void main(void)
{
HANDLE hMapFile;
HANDLE hFile;
hFile = CreateFile(L"ReadMe.txt",
GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ,
NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, NULL);
cout << "LastError= " << GetLastError() << endl;
hMapFile = CreateFileMapping(hFile, NULL,
PAGE_READWRITE, 0, 0, L"MyFileObject");
cout << "LastError= " << GetLastError() << endl;
getchar();
}
/* При выполнении данной практической работы я освоил
*/
Практическое занятие №23
1 Краткие теоретические сведения:
Формируем программу создающую процесс с помощью системной функции CreateProcess, ждем окончания процесса с помощью системной функции WaitForSingleObject, закрываем описатели процесса с помощью системной функции CloseHandle
Практическая часть
//Практическое занятие № 23
//Группа xxxxxx Терминал N ФИО
#include "stdafx.h"
#include "windows.h" // win32 API
#include <locale.h> // подключение Русского языка
#include <iostream> // инструкции c++ std,cout,cin …
using namespace std; // пространство стандартных имен */
Void main(VOID)
{
STARTUPINFO StartupInfo;
PROCESS_INFORMATION ProcInfo;
TCHAR TCommandLine[] = TEXT("sleep 30");
ZeroMemory(&StartupInfo, sizeof(StartupInfo));
StartupInfo.cb = sizeof(StartupInfo);
ZeroMemory(&ProcInfo, sizeof(ProcInfo));
setlocale(LC_ALL,"RUS");
if(!CreateProcess(NULL, // Не используется имя модуля
TCommandLine, // Командная строка
NULL, // Дескриптор процесса не наследуется.
NULL, // Дескриптор потока не наследуется.
FALSE, // Установка описателей наследования
Нет флагов создания процесса
NULL, // Блок переменных окружения родительского процесса
|
|
|
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!