72394

РАЗРАБОТКА МНОГОПОТОЧНЫХ WINDOWS-ПРИЛОЖЕНИЙ, УПРАВЛЕНИЕ ПОТОКАМИ, ЗАПУСК ДОЧЕРНИХ ПРОЦЕССОВ В СРЕДЕ MS VISUAL C++

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

Информатика, кибернетика и программирование

В программе должно быть следующее: описана главная функция приложения WinMin в которой регистрируется класс главного окна создается и выводится это окно организуется цикл обработки очереди сообщений приложения; главное окно приложения должно быть развернутым на весь экран в заголовке...

Русский

2014-11-21

118 KB

0 чел.

С лр№4 ИУС11а

ЛАБОРАТОРНАЯ РАБОТА № 4

РАЗРАБОТКА МНОГОПОТОЧНЫХ WINDOWS-ПРИЛОЖЕНИЙ, УПРАВЛЕНИЕ ПОТОКАМИ, ЗАПУСК ДОЧЕРНИХ ПРОЦЕССОВ В СРЕДЕ MS VISUAL C++

Цель работы. Изучение и использование функций Win32 API для создания потоков и управления ими в Windows-программах, для запуска дочерних процессов.

МЕТОДИЧЕСКИЕ УКАЗАНИЯ:

Задание: Для приведенных ниже вариантов заданий составить многопоточную Windows-программу в среде  Visual С++, в которой производится создание и выполнение 2 потоков: 1-й поток выполняет операции в главном окне приложения, 2-й поток - в другом окне (временное или дочернее), а также – запуск дочернего процесса. Управление потоками и запуск дочернего процесса осуществляется с помощью оконного меню главного окна.

Требования к программе. В программе должно быть следующее:

- описана главная функция приложения WinMain, в которой регистрируется класс главного окна, создается и выводится это окно, организуется цикл обработки очереди сообщений приложения;

- главное окно приложения должно быть развернутым на весь экран, в заголовке иметь надпись: Лабораторная работа № 4 по ОС студ. Фамилия И.О. группа <шифр> и содержать меню с пунктами (подпунктами): Поток 1 (Запустить, Приостановить, Завершить, Приоритет (7 уровней приоритета потока), Поток 2 (Запустить, Приостановить, Завершить, Приоритет (7 уровней приоритета потока), Процесс (Выбрать, Запустить), Выход. При обработке сообщений от первых двух пунктов меню в оконной функции необходимо вызывать соответствующие функции Win32 API для управления потоками. При выборе пункта "Выход" приложение должно завершить работу. Для выбора процесса  вызывается стандартный диалог Open и производится выбор на диске запускаемого программного файла, после чего его полный путь и имя отображаются в строке состояния главного окна. По команде "Запустить" производится запуск программы, определенной заданием, если имя программы не выбрано, то запуск не производится, выдается сообщение с помощью функции MessageBox;

- оба окна должны иметь строку состояния, в которой отображается а) Состояние потока (Работает, Приостановлен, Завершен); б) Текущий приоритет потока – число;

- 1-й и 2-й потоки должны быть созданы в приостановленном состоянии в оконных функциях (по сообщению WM_CREATE), для потоков должны быть описаны соответствующие потоковые функции, выполняющие в цикле операции в окнах согласно варианту задания. Запуск потоков в работу, их приостановка и завершение производятся с помощью меню.

- в рабочей области главного окна, при запуске 1-го потока должен отображаться текст или результаты расчетов согласно варианту задания. Выводимый график должен размещаться на всю рабочую область окна, для этого значения функции должны быть масштабированы с учетом количества выводимых пикселей по осям X и Y. При приостановке потока вывод останавливается, при завершении – окно очищается;

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

- при запуске приложения необходимо проверять наличие уже запущенного экземпляра этого приложения, выдавать об этом сообщение с помощью функции MessageBox и завершать работу.

Используемые Win32 API функции: для работы с потоками необходимо использовать функции CreateThread, GetThreadPriority, SetThreadPriority, ResumeThread, SuspendThread, Sleep; для запуска дочернего процесса необходимо использовать функцию CreateProcess.

Порядок выполнения работы:

1. Создать проект Windows-приложения (последовательность действий: выбрать меню File -> выбрать пункт New -> выбрать закладку Projects -> отметить тип создаваемого проекта Win32 Application -> ввести имя проекта в поле Project name -> выбрать кнопку OK -> отметить тип A simple Win32 application -> выбрать кнопку Finish -> выбрать кнопку OK).

2. В окне просмотра классов и файлов на вкладке FileView выбрать cpp-файл, затем в окне редактирования ввести исходный текст программы.

3. Создать файл с описанием ресурсов (диалоговое окно и другие ресурсы при необходимости) с использованием редактора ресурсов.

4. Cоздать исполняемый модуль приложения - трансляция, компоновка (последовательность действий: выбрать меню Build -> выбрать пункт Rebuild All).

5. Проверить результат работы приложения - запуск исполняемого модуля (последовательность действий: выбрать меню Build -> выбрать пункт Execute).

ВАРИАНТЫ ЗАДАНИЙ:

№ вар

Поток или процесс

Вид выполняемого действия потоком/

Имя запускаемого процесса

1

Поток 1

(гл. окно)

График случайного процесса Y=f(t), t в диапазоне [t0; tend], Y – случайное число. Вывод попиксельно  с интервалом 0,2 сек

Поток 2

(врем. окно)

Прямоугольная рамка перемещается по вертикали от верхней границы окна к нижней и наоборот с интервалом 0,5 сек

Процесс

Notepad.exe

2

Поток 1

(гл. окно)

Поле рассеяния двумерной случайной величины (x,y), где x и y лежат в диапазоне от MIN до MAX. Точки на плоскости появляются с частотой 0,5 с.

Поток 2

(доч. окно)

Текстовая строка перемещается по пери-метру окна по часовой стрелке с шагом 20 пикселей с интервалом 0,7 сек

Процесс

Winword.exe.exe

3

Поток 1

(гл. окно)

Бегущая строка

Поток 2 

(врем. окно)

Квадрат изменяет свои размеры от минимальных до максимальных и наоборот, произвольно меняя  цвет с интервалом 0,3 сек

Процесс

WordPad.exe

4

Поток 1

(гл. окно)

Бегущая строка

Поток 2 

(врем. окно)

Битовый образ перемещается по углам окна по часовой стрелке с интервалом 0,7 сек

Процесс

MSaccess.exe

5

Поток 1

(гл. окно)

Счетчик продолжительности работы потока (в секундах). Каждые 10 секунд шрифт увеличивается на 2п

Поток 2

(доч. окно)

В центре окна появляются строка из цифр от 0 до 9, увеличиваясь в размере от 10 пт до 30 пт с интервалом 0,5 сек

Процесс

Explorer.exe

6

Поток 1

(гл. окно)

Окно заполняется случайными числами (цвет черный на белом фоне) в диапазоне от 0 до Xmax, если число больше XG, то цвет фона числа меняется на красный, если меньше XS – цвет фона синий)

Поток 2 

(врем. окно)

Эллипс перемещается по углам окна по часовой стрелке с интервалом 1 сек

Процесс

WordPad.exe

7

Поток 1

(гл. окно)

Вывод графика функции  в диапазоне [-4; 0] с интервалом 0,5 сек 

Поток 2

(доч. окно)

Текстовая строка перемещается по боковой диагонали снизу-вверх и наоборот с шагом 20 пикселей по вертикали с интервалом 0,5 сек

Процесс

Winrar.exe

8

Поток 1

(гл. окно)

В новой строке окна каждую секунду выводится значения N  и соответствующей ему суммы N случайных чисел из диапазона [0,1]; N последовательно увеличивается от 1 до бесконечности.

Поток 2 

(врем. окно)

Битовый образ перемещается по диагонали сверху-вниз и наоборот с шагом (40,30) пикселей с интервалом 0,5 сек

Процесс

Excel.exe

9

Поток 1

(гл. окно)

В центре окна по одной появляются буквы строки текста. После появления последней буквы появляется вся строка полностью, затем исчезает и все повторяется сначала.

Поток 2

(доч. окно)

Прямоугольная рамка перемещается по углам окна против часовой стрелки с интервалом 1 сек

Процесс

WordPad.exe

10

Поток 1

(гл. окно)

График случайного процесса Y=f(t), t в диапазоне [t0; tend], Y – случайное число

Поток 2 

(врем. окно)

Текстовая строка перемещается по пери-метру окна по часовой стрелке с шагом 20 пикселей с интервалом 0,7 сек

Процесс

Mspaint.exe

11

Поток 1

(гл. окно)

Поле рассеяния двумерной случайной величины (x,y), где x и y лежат в диапазоне от MIN до MAX. Точки на плоскости появляются с частотой 0,5 с.

Поток 2

(доч. окно)

Сегмент эллипса перемещается слева-направо и наоборот с шагом 15 пикселей с интервалом 1 сек

Процесс

Wincmd32.exe

12

Поток 1

(гл. окно)

Бегущая строка

Поток 2 

(врем. окно)

Сектор эллипса перемещается по периметру окна по часовой стрелке с шагом 20 пикселей с интервалом 0,3 сек

Процесс

Winrar.exe

13

Поток 1

(гл. окно)

Счетчик продолжительности работы потока (в секундах). Каждые 10 секунд шрифт увеличивается на 2п

Поток 2

(доч. окно)

Прямоугольник с закругленными краями изменяет свои размеры от минимальных до максимальных и наоборот, произвольно меняя  цвет с интервалом 0,5 сек

Процесс

Winword.exe

14

Поток 1

(гл. окно)

Окно заполняется случайными числами (цвет черный на белом фоне) в диапазоне от 0 до Xmax, если число больше XG, то цвет фона числа меняется на красный, если меньше XS – цвет фона синий)

Поток 2 

(врем. окно)

Квадрат перемещается по периметру окна по часовой стрелке с шагом 20 пикселей с интервалом 0,5 сек

Процесс

Winword.exe

15

Поток 1 (гл.окно)

Вывод графика функции e4,2*cosx в диапазоне [-5; 5] с интервалом 0,3с

Поток 2

(доч. окно)

Текстовая строка перемещается по углам окна против часовой стрелки с интервалом 0,7 сек

Процесс

WordPad.exe

16

Поток 1

(гл. окно)

Поле рассеяния двумерной случайной величины (x,y), где x и y лежат в диапазоне от MIN до MAX. Точки на плоскости появляются с частотой 0,5 с.

Поток 2

(доч. окно)

Окружность перемещается по периметру окна по часовой стрелке с шагом 20 пик-селей с интервалом 0,2 сек

Процесс

Mspaint.exe

17

Поток 1

(гл. окно)

Счетчик продолжительности работы потока (в секундах). Каждые 10 секунд шрифт увеличивается на 2п

Поток 2 

(врем. окно)

Текстовая строка перемещается по углам окна случайным образом с интервалом 0,7 сек

Процесс

Explorer.exe

18

Поток 1

(гл. окно)

Бегущая строка

Поток 2

(доч. окно)

Прямоугольник с закругленными краями перемещается по боковой диагонали снизу-вверх и наоборот с шагом (10;10) с интервалом 1 сек

Процесс

Notepad.exe

19

Поток 1

(гл. окно)

Окно заполняется случайными числами (цвет черный на белом фоне) в диапазоне от 0 до Xmax, если число больше XG, то цвет фона числа меняется на красный, если меньше XS – цвет фона синий)

Поток 2 

(врем. окно)

Окружность в центре окна, изменяет свои размеры от 1/8 окна до касания границы окна и наоборот с интервалом 0,3 сек

Процесс

Calc.exe

20

Поток 1

(гл. окно)

Вывод графика функции 10lg|-5*x| в диапазоне [-10; -5] с интервалом 0,2 сек

Поток 2

(доч. окно)

Текстовая строка перемещается по периметру окна против часовой стрелки с шагом 30 пикселей с интервалом 1 сек

Процесс

BP.EXE

21

Поток 1

(гл. окно)

В новой строке окна каждую секунду выводится значения N  и соответствующей ему суммы N случайных чисел из диапазона [0,1]; N последовательно увеличивается от 1 до бесконечности.

Поток 2 

(врем. окно)

Сектор эллипса изменяет угол от 0 до 180 и наоборот с интервалом 0,5 сек

Процесс

BC.EXE

22

Поток 1

(гл. окно)

В новой строке окна каждую секунду выводится значения N  и соответствующей ему суммы N случайных чисел из диапазона [0,1]; N последовательно увеличивается от 1 до бесконечности.

Поток 2 

(врем. окно)

Прямоугольник с закругленными краями перемещается сверху вниз и наоборот с шагом 10 пикселей с интервалом 1 сек

Процесс

Excel.exe

23

Поток 1

(гл. окно)

В центре окна по одной появляется строка текста по одной букве. После появления последней буквы появляется вся строка полностью, затем исчезает и все повторяется сначала.

Поток 2

(доч. окно)

Битовый образ перемещается слева-направо и наоборот с шагом 20 пикселей с интервалом 0,3 сек

Процесс

Bp.exe

24

Поток 1

(гл. окно)

График случайного процесса Y=f(t), t в диапазоне [t0; tend], Y – случайное число

Поток 2 

(врем. окно)

Прямоугольник перемещается по углам окна по часовой стрелке с интервалом 0,5 сек

Процесс

MSaccess.exe

25

Поток 1

(гл. окно)

В центре окна по одной появляются буквы строки текста. После появления последней буквы появляется вся строка полностью, затем исчезает и все повторяется сначала.

Поток 2

(доч. окно)

Битовый образ перемещается по окружности радиусом 180 пикселей против часовой стрелки на 10о с интервалом 0,4 сек

Процесс

Mspaint.exe


 

А также другие работы, которые могут Вас заинтересовать

20600. Речевые кодеки абонентских терминалов СПРС и ПСС 480.5 KB
  Обработка речи осуществляется в рамках принятой системы прерывистой передачи речи DTX. DTX управляется детектором активности речи VAD который обеспечивает обнаружение и выделение интервалов передачи речи с шумом и шума без речи даже в тех случаях когда уровень шума соизмерим с уровнем речи. В состав системы DTX входит также устройство формирования комфортного шума который включается и прослушивается в паузах речи когда передатчик отключен.
20601. Оценка качества передачи речевых сигналов 75.5 KB
  Обычно к параметрическим вокодерным относят системы требующие скорости передачи меньшие 16 кбит с. Обычно для обеспечения меньшей скорости передачи требуется применение более сложных алгоритмов т.1 Метод кодирования Скорость передачи кбит с Стандарт Современные приложения ИКМ 64 МСЭТ G.
20602. Модемы систем подвижной связи 649.5 KB
  Однако объем передачи данных по таким сетям имеет тенденцию к быстрому увеличению.3 DQPSK n 4 Требуемое отношения сигнал шум дБ 9 16 Скорость преобразования речи Кбит с 13 65 8 Алгоритм преобразования речи RPE LTP VSELP Типовой радиус соты км 0535 0520 Технологическое преимущество цифровой сотовой связи позволяет увеличивать емкость сетей снижать стоимость и повышать надежность передачи данных. К таким решениям можно отнести: построение сетей GSM на принципах модели открытых систем и интеллектуальных сетей; применение эффективных...
20603. Понятие о защите информации от несанкционированного доступа 109 KB
  Говорить о безопасности сотовой связи в общем нельзя. Если бы не было необходимости в идентификации то он получил бы вместе с аппаратом и доступ к счету жертвы у оператора связи. Принцип работы A3 известен только операторам связи а также разработчикам и производителям всевозможного сотового оборудования. Шифрование данных У любого стандарта сотовой связи есть один большой недостаток.
20604. Перспективы развития СПРС и ПСС – переход к системам 3-го поколения 236.5 KB
  Перспективы развития СПРС и ПСС – переход к системам 3го поколения Прошло немногим более двух десятилетий с момента появления первых мобильных телефонов но мобильная связь уже подверглась существенным изменениям. Cистемы первого поколения основанные на аналоговом принципе использовались исключительно для телефонной связи и лишь впоследствии обзавелись некоторыми базовыми сервисами. Cистемы второго поколения включая стандарт GSM предоставляют улучшенное качество передачи и защиту сигнала дополнительные сервисы низкоскоростную...
20605. Принципы функционирования систем сотовой связи 490 KB
  Свое название они получили в соответствии с сотовым принципом организации связи согласно которому зона обслуживания территория города или региона делится на ячейки соты. Эти системы подвижной связи появившиеся сравнительно недавно являются принципиально новым видом систем связи так как они построены в соответствии с сотовым: принципом распределения частот по территории обслуживания территориальночастотное планирование и предназначены для обеспечения радиосвязью большого числа подвижных абонентов с выходом в телефонную сеть общего...
20606. Абонентские терминалы СПРС и ПСС 360.5 KB
  В верхней части аппарата обычно располагаются световой индикатор светодиод отображающий режим работы режим ожидания вызов включено и источник звукового сигнала звонок. При получении вызова о чем абонент оповещается звуковым сигналом звонком он манипулирует теми же клавишами. Во всех аппаратах на дисплее отображаются уровень принимаемого сигнала и степень разряда аккумуляторной батареи в большинстве из них имеется подсветка дисплея и клавиатуры. К стационарному аппарату обычно бывает возможно подключить телефонный аппарат...
20607. Методы формирования речевых сигналов в слуховой системе 103 KB
  В некоторых восточных языках например в китайском изменение частоты основного тона важный информативный параметр речи. Звуки речи в которых присутствует основной тон называются вокализованными. Темп – характеризует скорость речи количество слов произнесённых в определённый временной промежуток. Темп речи в норме по своим временным и пространственным характеристикам соответствует органическим темповым и ритмическим параметрам присущим речевому и зрительному потоку информации человека.
20608. Слуховое восприятие речевых сигналов и оценка качества их звучания 335.5 KB
  Как правило слуховое восприятие речи у пожилых людей нарушается в большей степени чем чистых тонов. Среди существующих методов не утратили своего значения камертональные опыты или пробы и установление восприятия разговорной и шепотной речи. Наиболее распространенными способами оценки слуха в диагностики тугоухости являются измерение порогов слышимости чистых тонов и разборчивость записанной на ленте магнитофона и воспроизводимой через аудиометр речи определенной интенсивности см. являются гиперакузия заключающаяся в повышенной...