Программирование для Windows NT (том 2)



         

Исходные тексты приложения STIME - часть 3


// Функция WndProc_OnCreate

// -----------------------------------------------------

BOOL WndProc_OnCreate(HWND hWnd,

                      LPCREATESTRUCT lpCreateStruct)

{

  // Создаем таймер с периодом работы 1 сек

  SetTimer(hWnd, CLOCK_TIMER, 1000, NULL);

  return TRUE;

}

// -----------------------------------------------------

// Функция WndProc_OnTimer

// -----------------------------------------------------

#pragma warning(disable: 4098)

void WndProc_OnTimer(HWND hWnd, UINT id)

{

  time_t t;

  struct tm *ltime;

  // Определяем текущее время

  time(&t);

  ltime = localtime(&t);

  // Формируем текстовую строку времени

  wsprintf(szBuf, "%02d:%02d:%02d",

    ltime->tm_hour, ltime->tm_min,ltime->tm_sec);

  // Записываем адрес и размер строки в структуру

  // типа COPYDATASTRUCT

  cd.lpData = szBuf;

  cd.cbData = strlen(szBuf) + 1;

  // Посылаем сообщение серверному приложению RCLOCK

  SendMessage(hWndServer, WM_COPYDATA,

    (WPARAM)hWnd, (LPARAM)&cd);

  return 0;

}

// -----------------------------------------------------

// Функция WndProc_OnDestroy

// -----------------------------------------------------

#pragma warning(disable: 4098)

void WndProc_OnDestroy(HWND hWnd)

{

  // Перед завершением работы приложения передаем

  // серверу строку <Terminated>

  cd.lpData = szTerminated;

  cd.cbData = strlen(szTerminated) + 1;

  SendMessage(hWndServer, WM_COPYDATA,

    (WPARAM)hWnd, (LPARAM)&cd);

  // Удаляем таймер

  KillTimer(hWnd, CLOCK_TIMER);

  PostQuitMessage(0);

  return 0L;

}




Содержание  Назад  Вперед