Шаг 129 - Передача события синхронизации в другой процесс.

Связанные темы.

Шаг 119 - Функции CreateEvent(), SetEvent(), ResetEvent()

Шаг 83 - Что такое События (Event) синхронизации

Итак, в прошлых шагах мы с Вами использовали сообщения для передачи события внутри одного процесса разным потокам. Теперь мы посмотрим, как это же самое сделать между разными процессами. Мы создадим два приложения в одной рабочей области. Оба они будут Win32 Console application. Одно приложение SetEvet будет посылать событие синхронизации, а второе его ждать.

129_1.gif (2067 b)

Код ожидающего приложения.

#include "stdafx.h"
#include "windows.h"
#include "iostream.h"

void main()
{

	HANDLE hEv = CreateEvent(NULL,FALSE,FALSE,"Event");	// открыть указатель на сообщение
	WaitForSingleObject(hEv,INFINITE);			// ждать сообщения
	cout << " Event Event !!!" << endl;			// есть сообшение
	CloseHandle(hEv);					// закрыть указатель
}

Код посылающего приложения. Я имею ввиду сообщение.

#include "stdafx.h"
#include "windows.h"
#include "iostream.h"
void main()
{
	HANDLE hEv = CreateEvent(NULL,FALSE,FALSE,"Event");	// открыть указатель на сообщение
	SetEvent(hEv);						// послать (сообщение)
	cout << " Event Setting !!!" << endl;				
}

Запускайте сначала ожидающее приложение, оно замрет. После этого посылающее и все сработает.

129_2.gif (5417 b)


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем
Используются технологии uCoz