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


         

Приложение DLLCALL - часть 3


// Функция WndProc

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

LRESULT WINAPI

WndProc(HWND hWnd, UINT msg, WPARAM wParam,

        LPARAM lParam)

{

  switch(msg)

  {

    HANDLE_MSG(hWnd, WM_COMMAND, WndProc_OnCommand);

    HANDLE_MSG(hWnd, WM_DESTROY, WndProc_OnDestroy);

    default:

      return(DefWindowProc(hWnd, msg, wParam, lParam));

  }

}

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

// Функция WndProc_OnDestroy

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

#pragma warning(disable: 4098)

void WndProc_OnDestroy(HWND hWnd)

{

  PostQuitMessage(0);

  return 0L;

}

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

// Функция WndProc_OnCommand

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

#pragma warning(disable: 4098)

void WndProc_OnCommand(HWND hWnd, int id,

  HWND hwndCtl, UINT codeNotify)

{

  switch (id)

  {

    case ID_FILE_EXIT: 

    {

      // Завершаем работу приложения

      PostQuitMessage(0);

      return 0L;

      break;

    }

        

    case ID_FILE_FINDWINDOW:

    {

      // Отображаем диалоговую панель для ввода

      // заголовка главного окна приложения,

      // поиск которого будет выполняться

      if(DialogBox(hInst, MAKEINTRESOURCE(IDD_DLGFIND),

        hWnd, DlgProc))

      {

        // Первый способ вызова функции из DLL-библиотеки:

        // прямой вызов с использованием библиотеки экспорта

/*

        // Выполняем поиск окна с заголовком, заданным

        // при помощи диалоговой панели

        if(FindApplicationWindow(szWindowTitle) != NULL)

          MessageBox(NULL, "Application window was found",

            szAppTitle, MB_OK | MB_ICONINFORMATION);

       

          else

          MessageBox(NULL, "Application window was not found",

            szAppTitle, MB_OK | MB_ICONINFORMATION);

*/

        // Второй способ вызова функции из DLL-библиотеки:

        // загрузка DLL-библиотеки функцией LoadLibrary




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