Связанные темы.
Шаг 119 - Функции CreateEvent(), SetEvent(), ResetEvent()
Шаг 83 - Что такое События (Event) синхронизации
Итак, в прошлых шагах мы с Вами использовали сообщения для передачи события внутри одного процесса разным потокам. Теперь мы посмотрим, как это же самое сделать между разными процессами. Мы создадим два приложения в одной рабочей области. Оба они будут Win32 Console application. Одно приложение SetEvet будет посылать событие синхронизации, а второе его ждать.
Код ожидающего приложения.
#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; }
Запускайте сначала ожидающее приложение, оно замрет. После этого посылающее и все сработает.