Операционная система Microsoft Windows 3.1 для программиста. Дополнительные главы


Листинг 4.7. Файл hlpmore/hlpmore.cpp


#define STRICT #include <windows.h> #include <mem.h> #include <time.h>

#include "hlpmore.h"

BOOL RegisterEWclass(HMODULE hModule); extern "C" LRESULT CALLBACK _export EWWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam); char const szClassName[] = "EWHlpMoreClass";

// ======================================================== // Функция LibMain // Получает управление только один раз при // загрузке DLL-библиотеки в память // ======================================================== #pragma argsused int FAR PASCAL LibMain(HINSTANCE hModule, WORD wDataSegment, WORD wHeapSize, LPSTR lpszCmdLine) { // После инициализации локальной области данных // функция LibEntry фиксирует сегмент данных. // Его необходимо расфиксировать. if(wHeapSize != 0) // Расфиксируем сегмент данных UnlockData(0);

// Регистрируем класс для встроенного окна if(!RegisterEWclass(hModule)) return FALSE; else // Возвращаем TRUE. Это означает, что инициализация // DLL-библиотеки выполнена успешно return TRUE; }

// ======================================================== // Функция WEP // Получает управление только один раз при // удалении DLL-библиотеки из памяти // ======================================================== #pragma argsused int FAR PASCAL WEP(int bSystemExit) { return 1; }

// ======================================================== // Функция MsgBox // Выводит на экран диалоговую панель с сообщением // ======================================================== extern "C" void FAR PASCAL _export MsgBox(HWND hwnd, LPSTR szMsg) { MessageBox(hwnd, szMsg, "Message from DLL", MB_OK); }

// ======================================================== // Функция RegisterEWclass // Регистрация класса для встроенного окна // ======================================================== BOOL RegisterEWclass(HMODULE hModule) { ATOM aWndClass; WNDCLASS wc;

memset(&wc, 0, sizeof(wc));

// Класс окна доступен для всех приложений wc.style = CS_GLOBALCLASS;




Начало  Назад  Вперед



Книжный магазин