Программирование для защищенного режима 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 — библиотеки, затем загружает саму программу и передает ей управление.