Посылаем сообщение серверному приложению
// Функция 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;
}
Содержание Назад Вперед