Функции ввода-вывода для стандартных устройств
Известно, что кодировка символов , принятая по умолчанию, отличается для WINDOWS 95, WINDOWS NT. Тип кодировки задается буквой A в конце функции для однобайтной кодировки и буквой W для 2-х байтной. При создании программ на языке АССЕМБЛЕР необходимо учитывать это различие.
Для программного определения типа установленной системы используется функция GetVersion:
DWORD GetVersion(VOID)
Функция возвращает номер версии и подверсии установленной системы Для всех платформ младшее слово содержит номера версии (младший байт номер версии, старший – номер подверсии в 16 –ой системе счисления) Для различения платформ ОС используется старший бит и младший байт, которые принимают значения, приведенные в табл. 13.1. Таблица 13.1. Типы операционных систем |
Платформа | Старший бит
| Младший байт | |||
Windows NT | 0 | 3 или 4 | |||
Windows 95 | 1 | 4 | |||
Win32s, Windows 3.1 | 1 | 3 |
Для Windows NT и Win32s, оставшиеся биты старшего слова задают номер разработчика, для Windows 95 – резервируются.
Пример использования функции на С++:
…
DwVersion = GetVersion();
dwWindowsMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));
dwWindowsMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion)));
if (dwVersion < 0x80000000) // Windows NT
dwBuild = (DWORD)(HIWORD(dwVersion));
else if (dwWindowsMajorVersion < 4) // Win32s
dwBuild = (DWORD)(HIWORD(dwVersion) & ~0x8000);
else // Windows 95 --
dwBuild = 0;
К функциям ввода – вывода для стандартных устройств относятся:
· функция MessageBox для вывода диалогового окна с заданной информацией и заданными кнопками;
· функции для работы с консолью
По умолчанию в качестве стандартных устройств ввода используется клавиатура, а вывода -монитор. Выводимую информацию можно разделить на информацию, соответствующую штатной работе программы, и информацию, соответствующую реакции на ошибки. По умолчанию для обоих типов информации используется монитор. Допускается переназначение стандартных устройств. Ниже приведены наиболее распространенные константы и функции[18].