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



         

Исходные тексты приложения STIME


Главный файл исходных текстов приложения STIME представлен в листинге 2.7.

Листинг 2.7. Файл rclock/stime/stime.c

// ==================================================

// Приложение STIME (работает вместе с приложением RTIME)

// Демонстрация использования сообщения WM_COPYDATA

// для передачи данных между процессами

//

// (С) Фролов А.В., 1996

// Email: frolov@glas.apc.org

// ==================================================

#define STRICT

#include <windows.h>

#include <windowsx.h>

#include <commctrl.h>

#include <time.h>

#include "resource.h"

#include "afxres.h"

#include "stime.h"

HINSTANCE hInst;

char szAppName[]  = "StimeApp";

char szAppTitle[] = "Time Sender";

// Имя приложения RTIME

char szServerAppName[]  = "RclockApp";

// Идентификатор главного окна приложения RTIME

HWND hWndServer;

// Структура для передачи данных между процессами

// при помощи сообщения WM_COPYDATA

COPYDATASTRUCT cd;

// Буферы для передаваемых данных

char szBuf[80];

char szTerminated[] = "<Terminated>";

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

// Функция WinMain

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

int APIENTRY

WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,

        LPSTR lpCmdLine, int nCmdShow)

{

  WNDCLASSEX wc;

  HWND hWnd;

  MSG msg;

 

  // Сохраняем идентификатор приложения

  hInst = hInstance;

  // Преверяем, не было ли это приложение запущено ранее

  hWnd = FindWindow(szAppName, NULL);

  if(hWnd)

  {

    // Если было, выдвигаем окно приложения на

    // передний план

    if(IsIconic(hWnd))

      ShowWindow(hWnd, SW_RESTORE);

    SetForegroundWindow(hWnd);

    return FALSE;

  }

  // Ищем окно серверного приложения RCLOCK и сохраняем

  // его идентификатор

  hWndServer = FindWindow(szServerAppName, NULL);

  if(hWndServer == NULL)




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