void CEventCheckDlg::OnTest() 
{
    HANDLE  m_hEvent;       // Uchwyt do aktualnego zdarzenia.
    short   sType;          // Wprowadzany typ zdarzenia.
    short   sCategory;      // Wprowadzana kategorie zdarzenia.
    LPCSTR  lpcstrData;     // Cig danych dla opisu zdarzenia.
    CString oStringData;    // Tymczasowe miejsce dla cigu danych.
    LPCSTR  lpcstrRaw;      // Pierwotne dane dla zdarzenia.
    CString oRawData;       // Tymczasowe miejsce dla danych pierwotnych.
    DWORD   dwRawData;      // Dugo danych pierwotnych.

    // Ustal typ aktualnego zdarzenia.
    switch (GetCheckedRadioButton(IDC_INFORMATION, IDC_ERROR))
    {
    case IDC_INFORMATION:
        sType = EVENTLOG_INFORMATION_TYPE;
        break;
    case IDC_WARNING:
        sType = EVENTLOG_WARNING_TYPE;
        break;
    case IDC_ERROR:
        sType = EVENTLOG_ERROR_TYPE;
        break;
    }

    // Ustal kategori aktualnego zdarzenia.
    switch (GetCheckedRadioButton(IDC_INITIALIZE,IDC_SENDDATA))
    {
    case IDC_INITIALIZE:
        sCategory = ON_INIT;
        break;
    case IDC_COMPONENT:
        sCategory = CREATE_COMPONENT;
        break;
    case IDC_GETDATA:
        sCategory = GET_DATA;
        break;
    case IDC_SENDDATA:
        sCategory = SEND_DATA;
        break;
    }

    // Umie cig danych w zmiennej.
    m_stringData.GetWindowText(oStringData);
    lpcstrData = oStringData.GetBuffer(80);
    oStringData.ReleaseBuffer(-1);

    // Umie dane pierwotne w zmiennej i pobierz dugo.
    m_rawData.GetWindowText(oRawData);
    lpcstrRaw = oRawData.GetBuffer(80);
    oRawData.ReleaseBuffer(-1);
    dwRawData = oRawData.GetLength();

    // Uzyskaj uchwyt zdarzenia, aby rejestrowa
    // zdarzenia.
    m_hEvent = RegisterEventSource("Main", "EventCheck");
    if (m_hEvent == NULL)
    {
        AfxMessageBox("Uzyskanie uchwytu nie powiodo si.");
        return;
    }

    // Raport i zdarzenie aplikacji.
    ReportEvent(
        m_hEvent,
        sType,
        sCategory,
        TEST_MESSAGE,
        NULL,
        1,
        dwRawData,
        &lpcstrData,
        (LPVOID)lpcstrRaw);

    // Zamknij uchwyt zdarzenia.
    DeregisterEventSource(m_hEvent);
}
