Программирование для защищенного режима 223

mb_DefButton2 ¦ Сделать умалчиваемым 2—и символ mb_DefButton3 ¦ Сделать умалчиваемьм 3-й символ

Функция возврашает одно из следующих значений:

Значение

Смысл

id0k id Cancel

Нажата клавиша «О» Нажата клавиша «С»

idAbort

Нажата клавиша «А»

idRetry

Нажата клавиша «R»

idIgnore

Нажата клавиша «I»

idYes

Нажата клавиша «X»

idNo

Нажата клавиша «N»


Если, например, сделан такой вызов функции:

MessageBox(0,'прекратить печать?', 'Принтер не отвечает',mb_YesNo+mb_DefButton2)

то на экран будет выведено:

Принтер не отвечает: прекратить печать? Yes (Y) No (N) :

Если в ответ нажата клавиша Enter, функция вернет значение id_No, так как параметр Flags содержит mb_DefButton2.

9.3. РАБОТА С ПАМЯТЬЮ

Для создания программы, работающей в защищенном режиме, выберите в среде ВР опцию Compile/Target и в появившемся диалоговом окне укажите Protected—mode. Получающийся в результате компиляции ЕХЕ— файл имеет два заголовка: стандартный заголовок MS-DOS и заголовок Windows. При запуске программы под управлением MS-DOS командный процессор COMMAND.COM использует заголовок ДОС для запуска небольшой стартовой программы, которая автоматически пристыковывается компилятором к исполняемому файлу. Эта программа осуществляет следующие действия:

• проверяет наличие DPMI— сервера и, если сервер не инсталирован, загружает его из файла DPMI16BI.OVL; если сервер инсталирован (обычно это означает, что программа запускается из расширенного режима Windows], стартовая программа не загружает его вновь;

• проверяет наличие в памяти расширителя ДОС и при необходимости загружает его из файла RTM.EXE (если программа запускается из другой программы, работающей в защищенном режиме, обе программы будут использовать один и тот же расширитель RTM};

• переключает процессор в защищенный режим и передает управление загрузчику исполняемых файлов расширителя ДОС.

Загрузчик расширителя читает Windows — заголовок исполняемого файла, загружает все указанные в нем DLL — библиотеки, затем загружает саму программу и передает ей управление.