Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 208


^include <windows.h> tfdettne _MYDLL_ #include "dll.h"

BOOL WINAPI D!IEntryPoint(HINSTANCE hinstDII, DWORD fdwReason,

LPVOID IpvReserved) {

switch(fdwReason) {

case DLL PROCESS_ATTACH: MessageBox(NULL, "We are in DLL_PROCESS_ATTACH!", "Hurray!",

MB_OK); break;

case DLL_THREAD_ATTACH: MessageBox(NULL, "We are in DLL_THREAD_ATTACH!", "Hurray!",

MB_OK); break;

case DLL_THREAD_DETACH: MessageBox(NULL, "We are in DLL_THREAD_DETACH!", "Hurray!",

MB_OK); break;

case DLL PROCESS DETACH:

MessageBox(NULL, "We are in DLL_PROCESSJ)ETACH!", "Hurray!", MBJDK);

249

break;

} retum(TRUE);

/

MYAPI void CALLBACK MyMessageQ

"I

MessageBox(Gc4DcsktopWindo\v().''nLI, is called!", "Hurray!" . MB_OK},

i j

Листинг № 13. Библиотека dll.c, включающая код функции инициали­зации.

Очередной раз - ура! Мы научились писать библиотеки динамической компоновки, добавлять в них функции инициализации и деишшиализа-ции, подключать DLL к нашим программам, используя как неявную, так и явную загрузку.

КОНСОЛИ

«Неужели для того, чтобы написать простейшую программу, которая выводит на экран несколько строк, мне необходимо городить этот огород с WinMainQ и функцией окна'.' Неужели в каждой моей программе, предназначенной для вывода текста на экран, должно присутствовать «стандартное заклинание»? Или же я вынужден вечно быть огра­ниченным рамками DOS?» Я предвижу такие вопросы со стороны тех, которым при разработке их программ не только ns нужен, но и мешает графический интерфейс.

Что ж, вопросы вполне понятны и закономерны. Наверное, именно эта закономерность и обусловила появление в Win32 новых функций, обес­печивающих эмуляцию текстового терминала. Эти функции называются функциями консоли,

ЧТО ТАКОЕ КОНСОЛЬ

Консоль - это интерфейс, обеспечивающий поддержку программ, ра­ботающих в текстовом режиме, т. е. программ, написанных в стиле MS DOS. Консоль состоит из буфера ввода и одного или нескольких экран­ных буферов. Буфер ввода включает в себя очередь, каждая запись в которой содержит информацию о вводных событиях. Под вводными событиями в данном случае подразумеваются нажатия и отжатая клавиш на клавиатуре, на мыши, движения мыши, а также действия пользователя, производимые с окном. Экранный буфер - это двумерный массив, кото-




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



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