17 Kasım 2015 Salı

CreateEvent

Yaratma
Event şöyle yaratılır.
HANDLE hEvent = CreateEvent(nullptr, TRUE, FALSE, nullptr); 
Bekleme
Event üzerinde şöyle bekleriz.
WaitForSingleObject(hEvent, INFINITE);
Tetikleme
Event şöyle tetiklenir.
SetEvent(hEvent);

Tam çalışan bir örnek
Örnekte thread event'i tetikleyinceye kadar bekleniyor.
class Service {
    HANDLE hThread;
    HANDLE hEvent;
    HWND   hWindow;
};

void Service::start() {
    // create event
    hEvent = CreateEvent(nullptr, TRUE, FALSE, nullptr); 

    hThread = CreateThread(...); // creates window and goes on to message loop

    // wait for window
    WaitForSingleObject(hEvent, INFINITE);
    CloseHandle(hEvent);
}


void thread_function(...)
{
    // create window, etc

    // signal parent to continue
    SetEvent(hEvent);
}








Hiç yorum yok:

Yorum Gönder