Системная информация
Интерфейс Win32 API предоставляет описательную информацию о среде, в которой выполняются приложения. К этой информации относятся переменные окружения процесса, время, устанавливаемые по умолчанию параметры настройки для системы и пользователя, учитывающие местную специфику, информация о накопителях и состоянии энергоснабжения системы, версия (и даже номер создания) ОС, тип процессора и имя компьютера. Используя системную информацию, приложение может дать пользователю правильное представление об имеющихся в системе ресурсах, реагировать на изменения в состоянии системы и лучше действовать в заданных системой пределах.
Информация о среде выполнения процесса
Среда выполнения процесса состоит из командной строки, параметров запуска процесса и переменных окружения. Процесс может вернуть указанные данные в любой момент своего выполнения благодаря вызову соответствующей функции интерфейса Win32 API. Эти данные устанавливаются при первом вызове функции CreateProcess, которая создает конкретное приложение.
Функция GetCommandLine возвращает командную строку. При этом командная строка состоит из заключенного в кавычки имени пути к процессу, после чего следуют соответствующие аргументы. Параметры командной строки можно выбрать из командной строки, передаваемой функции WinMain в виде строкового значения при запуске процесса, однако эта командная строка не содержит имя пути к процессу.
Функция GetStartupInfo возвращает структуру типа STARTUPINFO, которая образуется в результате обращения к функции CreateProcess. К GUI-приложению отношение имеют лишь некоторые поля структуры STARTUPINFO. Наиболее важными из них являются устанавливаемый по умолчанию размер и местоположение окон, флаг отображения окна, первоначально передаваемый приложению (и доступный из командной строки), а также флаги запуска. Более подробные сведения о структуре STARTUPINFO приведены в описании функции GetStartupInfo.
Кроме того, функция CreateProcess формирует окружение для процесса. По умолчанию каждый процесс наследует копию окружения своего родительского процесса. При этом функция GetEnvironmentStrings позволяет получить указатель на список всех строк окружения текущего процесса. Функция GetEnvironmentVariable дает возможность получить текущие значения переменных окружения, а функция SetEnvironmentVariable позволяет изменять значение переменной окружения.
Местное и системное время
Системное время в Windows хранится в виде значения UTC (Universal Time Coordinated — Универсальное время). Время в формате UTC основывается на среднем времени по Гринвичу, и поэтому для получения местного времени в приложениях должна осуществляться соответствующая настройка времени. В интерфейсе Win32 API предоставляются соответствующие функции для выполнения запроса и изменения как системного, как и местного времени. В связи с тем что местное время оказывается лишь производным временем, системное и местное время должны быть всегда синхронизированы.
Даты в системе хранятся в структуре типа SYSTEMTIME, определение которой приводится далее в главе при описании функции GetSystemTime. Функция GetSystemTime сообщает системное время (в формате UTC) в структуре SYSTEMTIME, тогда как функция SetSystemTime изменяет системное время в соответствии с указанными значениями, предоставляемыми в структуре SYSTEMTIME. Функция GetLocalTime возвращает местное время в виде структуры SYSTEMTIME. Функция SetLocalTime изменяет системное время в соответствии с установленным местным временем.
Поддержка региональной установки и языка
Региональная установка представляет собой список значений, которые описывают региональные параметры настройки, например, язык и знак денежной единицы. В Windows 2000 и Windows 9.x устанавливаемые по умолчанию параметры региональной установки назначаются на уровне пользователя. Доступный через панель управления (Control Panel) аплет Regional Options (Региональные параметры настройки) позволяет в любой момент изменять эти параметры. С каждой нитью в системе связана одна региональная установка. При создании нити региональная установка этой нити устанавливается в соответствии используемой по умолчанию региональной установкой пользователя.
К данным, хранящимся в списке региональной установки, относится название страны, названия месяцев года на местном языке, сокращения всех месяцев года на местном языке, кодовые страницы для обоих наборов символов OEM и ANSI, разделитель списка (подобный запятым в предложении), принятая система мер, десятичный разделитель, разделитель тысяч, формат даты и знак денежной единицы. Региональная установка (и ее влияние на наборы символов) дополнительно рассматривается в главе 22.
Описание функций системной информации
В табл. 21.1 сведены все функции системной информации, а подробное их описание следует непосредственно после данной таблицы.
Таблица 21.1 Сводка функций системной информаци
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.