Системная информация. Информация о среде выполнения процесса, страница 9

Windows. Результаты выполнения данного примера показаны на рис. 21.6.

См. \local-sources\chap21\21-15. txt

Определение структуры OSVERSIONINFO

typedef  struct    OSVERSIONINFO {

DWORD  dwOSVersionlnfoSize;

DWORD  dwMajorVersion;

DWORD  dwMinor Version ;

DWORD  dwBuildNumber;

DWORD  dwPlatformld;

TCHAR  szCSDVersion[128] ; } OSVERSIONINFO,   *LPOSVERSIONINFO;

Определение структуры OSVERSIONINFOEX

typedef  struct    OSVERSIONINFO {

DWORD  dwOSVersionlnfoSize;

DWORD  dwMajorVersion;

DWORD  dwMinorVersion;

DWORD  dwBuildNumber;

DWORD  dwPlatformld;

TCHAR  szCSDVersion [128] ;

WORD  wServicePackMajor;

WORD wServicePackMinor;

WORD wSuiteMask; BYTE wProductType ; BYTE wReserved; }   OSVERSIONINFOEX,   *LPOSVERSIONINFOEX;

Члены структур OSVERSION1NFO и OSVERSIONINFOEX

dwOS VersionlnfoSize

DWORD: Размер рассматриваемой структуры данных в байтах. Этот член должен быть инициализирован перед вызовом функции GetVersionEx.

dw Major Version

DWORD: Основной номер версии данной операционной системы. Например, основным номером версии Windows NT 3.51 является номер 3, а таковым для версии Windows NT — номер 4.

dwMinor Version

DWORD: Дополнительный номер операционной системы. Например, дополнительным номером версии Windows NT 3.51 является номер 51, а таковым для версии Windows NT — номер 0.

dwBuildNumber

DWORD: Номер создания операционной системы. В Windows 98 номер создания операционной системы находится в младшем слове, а в старшем слове содержится основной и дополнительный номера версии этой операционной системы.

dwPlatformID

DWORD: Номер платформы операционной системы. Этот член может принимать одно из значений, перечисленных в табл. 21.8.

szCSDVersion

TCHAR[32]: Строка, завершающаяся нулевым символом и предоставляющая дополнительную произвольную информацию о данной операционной системе

wServicePackMajor

DWORD: Основной номер последней версии служебного пакета (Service Pack), установленного в данной системе. Например, основным номером Service Pack 3 является номер 3. Если служебный пакет не установлен, значение данного члена равно 0.

wServicePackMinor

DWORD: Дополнительный номер последней версии Service Pack, установленного в системе. Например, дополнительным номером Service Pack 3 является номер 0.

wSuiteMask

WORD: Набор признаков, которые определяют доступные в системе комплекты программных продуктов. Этот член может принимать одно из значений, перечисленных в табл. 21.9.

Таблица 21, 8 Значения члена dwPlatformID структуры OSVERSIONINFO

Значение

Платформа

 

VER_PLATFORM_WIN32s

Любые платформы, поддерживающие интерфейс Win32 в Windows 3.1

 

VER_PLATFORM_WIN32_WINDOWS

Платформа, поддерживающая интерфейс Win32 в Windows 98

 

VER_PLATFORM_WIN32_NT

Платформа, поддерживающая интерфейс Win32 в Windows NT

 

wProductType

BYTE: Дополнительные сведения о системе. Этот член может принимать одно из значений, перечисленных в табл. 21.10.

 

^Reserved

BYTE: Зарезервировано для дальнейших применений.

 

Таблица 21.9 Значения члена wSuiteMask структуры OSVERSIONINFOEX

 

Значение

Это означает

 

VER_SUITE_BACKOFFICE

Установленные компоненты пакета Microsoft BackOffice

 

VER_SUITE_DATACENTER

Установленный пакет Windows 2000  DataCenter Server

 

VER_SUITE_ENTERPRISE

Установленный пакет Windows 2000 Advanced Server

 

VER_SUITE_SMALLBUSINESS

Установленный пакет Microsoft Small Business Server

 

VER_SUITE_ SMALLBUSINESS_RESTRICTED

Установленный пакет Microsoft Small Business Server с действующим ограничением на лицензию клиентской части этого пакета

 

VER_SUITE_TERMINAL

Установленный пакет   Terminal Services

 

Таблица 21.10 Значения члена wProductType структуры OSVERSIONINFOEX

 

Значение

Что означает

 

VER_NT_WORKSTATION

Windows 2000 Professional

 

VER_NT_DOMAINCONTROLLER

Windows 2000 Domain Controller

 

VER_NT_SERVER

Windows 2000 Server

 

волах) буфера, на который указывает параметр IpBuffer. Если буфер оказывается недостаточно велик для хранения всего имени пользователя, функция не сможет быть выполнена. В случае успешного выполнения рассматриваемой функции данный параметр принимает количество символов, скопированных в буфер и определяемых значением типа TCHAR.

GetVersionEx                            • Windows 98   • Windows 2000

Описание

Функция GetVersionEx осуществляет выборку информации, полностью определяющей версию данной системы, в том числе основной и дополнительный номера версии Windows, а также номер создания системы. Эта информация возвращается в виде структуры OSVERSIONINFO.

Синтаксис

BOOL GetVersionEx(LPOSVERSIONINFO Iposvi)

Параметры

Lposvi

LPOSVERSIONINFO: Указатель на структуру OSVERSIONINFO, в которую поступает информация о версии операционной системы. Определение структуры OSVERSIONINFO показано ниже. В Windows 2000 этот параметр может указывать на структуру OSVERSIONINFOEX. Более подробные сведения об этом приведены в рассматриваемой ниже структуре.

Возвращаемое значение

BOOL Если выполнение рассматриваемой функции оказывается успешным, возвращается значение TRUE. В противном случае возвращается FALSE.

Включаемый файл

winbase.h

Пример

Когда пользователь выбирает в приведенном ниже примере пункт меню Test!, отображается окно сообщения с номером версии и номером создания

GetVolumelnformation                   • Windows 98   • Windows 2000

 

Описание

Функция GetVolumelnformation возвращает метку тома и данные о файловой системе этого тома на указанном накопителе.

 

Синтаксис

BOOL GetVolumeInformation(LPCTSTR IpszKootPathName, LPTSTR IpszVolumeName, DWORD dwcVolumeNameSize, LPDWORD IpdwVolSerialNum, LPDWORD IpdwMaxCompLen, LPDWORD IpdwFileSysFlags, LPSTR IpszFiIeSysName, DWORD dcwFileSysName)

 

Параметры

 

IpszRootPalhName

LPCTSTR: Указатель на строку, которая содержит имя пути к корневому каталогу запрашиваемого тома. Эта строка должна завершаться нулевым символом. Если установлено значение NULL данного параметра, используется корневой каталог текущего тома.

 

Ipsz VolumeName

LPTSTR: Указатель на буфер, в котором имя тома должно сохраняться в виде строки, завершающейся нулевым символом. Имя или метка тома устанавливается при форматировании диска либо через диалоговое окно Properties в проводнике.

 

dwc VolumeNameSize

 

DWORD: Количество символов в буфере, определяемое значением типа TCHAR

 

Ipdw VolSerialNum

LPDWORD: Указатель на значение типа DWORD, которое принимает серийный номер тома. Если серийный номер тома не запрашивается, для данного параметра можно установить значение NULL.

 

IpdwMax CompLen

LPDVVORD: Указатель на значение типа DWORD, которое определяет максимальную длину любой составляющей имени пути. При этом составляющей данного имени, которая имеет отношение к файловой системе, является любая часть имени, находящаяся между двумя обратными косыми чертами. В файловой системе VFAT, применяемой в Windows 98, в высокопроизводительной файловой системе HPFS, применяемой в OS/2, а также в файловой системе NTFS, применяемой в Windows NT/2000, поддерживаются длинные имена файлов, поэтому в данном случае будет возвращаться значение 255. Это единственная информация в системе, указывающая на поддержку длинных имен файлов!

 

IpdwFileSysFlags

LPDWORD: Указатель на значение типа DWORD, с помощью которого описываются атрибуты файловой системы, устанавливаемые в виде ряд признаков, перечисленных в табл. 21.11.

 

IpszFiIeSysName

LPSTR: Указатель на буфер, в который поступает наименование файловой системы. Система возвращает строку, завершающуюся нулевым символом. Если наименование файловой системы не требуется, для данного параметра следует установить значение NULL.

 

dcwFileSysName

DWORD: Количество символов в буфере IpszFiIeSysName, определяемое значением типа TCHAR. Если установлено значение NULL параметра IpszFiIeSysName, рассматриваемый параметр игнорируется.

 

Таблица 21.11 Признаки описания файловой системы

 

Признак

Описание

 

FILE_NAMED_STREAMS

Поддержка в файловой системе именованных потоков

 

FILE_SUPPORTS_ENCRYPTION

Поддержка в файловой системе шифрованной файловой системы (Encrypted File System — EPS)

 

FILE_SUPPORTS_OBJECT_IDS

Поддержка в файловой системе идентификаторов объектов

 

FILE_SUPPORTS_REPARSE_POINTS

Поддержка в файловой системе точек повторного синтаксического анализа

 

FILE_SUPPORTS_SPARSE_FILES

Поддержка в файловой системе разреженных файлов

 

FILE_VOLUME_QOUTAS

Поддержка в файловой системе квот, выделяемых на используемое дисковое пространство

 

FS_CASE_IS_PRESERVED

Сохранение регистра всех буквенных символов в имени файла, хранящегося на диске

 

FS_CASE_SENSITIVE

Возможность выполнения в файловой системе поиска файлов с учетом регистра

 

FS_FILE_COMPRESSION

Поддержка в файловой системе сжатия в зависимости от типа файла

 

FS_PERSISTENT_ACLS

Сохранение в файловой системе списков управления доступом (ACL) к данным, хранящимся в данной файловой системе, а также использование этих списков для регулирования доступа к данным.  Примером файловой системы, в которой списки  ACL используются для доступа к данным, может служить  NTFS

 

FS_UNICODE_STORED_ON_DISK

Сохранение имен файлов в виде строк в коде  Unicode

 

FS_VOL_IS_COMPRESSED

Указание конкретного тома в виде сжатого тома, в частности, с использованием утилиты  DoubleSpace

 

Возвращаемое значение

BOOL Если выполнение рассматриваемой функции оказывается успешным, возвращается значение TRUE. В противном случае возвращается FALSE. Для возврата кода ошибки следует воспользоваться функцией GetLastError.

 

Включаемый файл

winbase.h

 

См. также

SetVolumeLabel, GetDiskFreeSpace, GetDriveType.

 

Пример

См. пример применения функции GetDiskFreeSpace.

 

GetWindowsDirectory                    «• Windows 98   * Windows 2000

 

Описание

Функция GetWindowsDirectory осуществляет выборку каталога, в котором установлена ОС Windows. Для операционной системы Windows корневым является каталог Windows. Так, если каталог Windows на диске С носит название WINDOWS, тогда путь к каталогу Windows, который выбирается с помощью рассматриваемой функции, окажется следующим: C:\WINDOWS.

 

Синтаксис

UINT GetWindowsDirectory(LPTSTR IpszWinPath, UINT uWlnPathCount)

 

Параметры

 

IpszWlnPath

LPTSTR: Указатель на буфер, в который поступает имя каталога Windows. В связи с тем что имя этого каталога может иметь длину МАХ_РАТН символов, возможно, потребуется буфер размером МАХ_РАТН+1 символов.

 

uWlnPathCount

UINT: Размер в символах, определяемый значением TCHAR и обозначаемый для буфера, на который указывает параметр IpszWlnPath.

 

Возвращаемое значение

UINT: Если выполнение рассматриваемой функции оказывается успешным, возвращается количество символов, записанных в буфер, за исключением нулевого. В противном случае возвращается 0. Если же рассматриваемая функция не может быть выполнена вследствие недостаточных размеров буфера, тогда возвращаемое значение указывает, сколько байтов необходимо для сохранения имени каталога Windows. В это значение входит один нулевой символ, завершающий строку.

 

Включаемыйфайл

winbase.h

 

См. также

GetSystemDirectory.

 

Пример

Когда пользователь выбирает в приведенном ниже примере пункт меню Test!, в окне сообщений отображается путь к каталогу Windows и путь к системному каталогу.

 

См.    \local-sources\chap21\21-16. txt

 

SetComputerName                       • Windows 98   • Windows 2000

 

Описание

Функция SetComputerName изменяет имя компьютерной системы. Это изменение возымеет действие только после перезапуска системы.

 

Синтаксис

BOOL SetComputerName(LPCTSTR IpszComputerName)

 

Параметры

 

IpszComputerName

 

LPCTSTR: Указатель на строку, завершающуюся нулевым символом и содержащую новое имя компьютерной системы. Эта строка может быть длиной MAX_COMPUTERNAME символов.

 

Возвращаемое значение

BOOL: Если выполнение рассматриваемой функции оказывается успешным, возвращается значение TRUE. В противном случае возвращается значение FALSE.

 

Включаемый файл

winbase.h

 

См. также

SetComputerNameEx, GetComputerName .

 

Пример

См. пример применения функции GetComputerName.

 

SetComputerNameEx                      + Windows 98   * Windows 2000

 

Описание

Функция SetComputerNameEx устанавливает имя NetBIOS или DNS локального компьютера. Это изменение возымеет действие только после перезапуска системы.

 

Синтаксис

BOOL SetComputerNameEx(COMPUTER_NAME_FORMAT NameType, LPCTSTR IpszComputerName)

 

Параметры

 

NameType

COMPUTER_NAME_FORMAT: Тип устанавливаемого имени. Этот параметр может принимать одно из значений, перечисленных в табл. 21. 12.

 

IpszComputerName

LPCTSTR: Указатель на строку, завершающуюся нулевым символом и содержащую новое имя компьютерной системы.

 

Возвращаемое значение

BOOL: Если выполнение рассматриваемой функции оказывается успешным, возвращается значение TRUE. В противном случае возвращается значение FALSE.

 

Включаемый файл

winbase.h

 

См. также

SetComputerName, GetComputerNameEx.

 

Таблица 21.12 Значения перечисляемого типа COMPUTER_NAME_FORMAT

 

Значение

Описание

 

ComputerNamePhysicalNetBIOS

Устанавливает имя NetBIOS в соответствии со значением, на которое указывает параметр /pszCompuf erName . Длина этого имени не может превышать MAX_COMPUTERNAME_LENGTH символов, за исключением завершающего нулевого символа

 

ComputerNamePhysicalDnsHostname

Устанавливает имя NetBIOS, а также имя хоста  DNS в соответствии со значением, на которое указывает параметр IpszComputerName. Если длина имени NetBIOS превышает   MAX_COMPUTERNAME_LENGTH символов, имя усекается до величины MAX_COMPUTERNAME_LENGTH символов

 

ComputerNamePhysicalDnsDomain

Устанавливает имя домена DNS, присвоенное данному компьютеру

 

SetCurrentDirectory                       •  Windows 98   • Windows 2000

 

Описание

Функция SetCurrentDirectory

 

Синтаксис

BOOL SetCurrentDirectory(LPCTSTR IpszCurDir)

 

Параметры

 

IpszCurDir

LPCTSTR: Указатель на строку, завершающуюся нулевым символом и определяющую путь к новому каталогу. Эта строка может быть длиной МАХ_РАТН+1 символов, включая и завершающий ее нулевой символ. В качестве пути к новому каталогу может быть указан как относительный, так и полный путь. При выборке этого пути он всегда оказывается полным путем.

 

Возвращаемое значение

BOOL: Если выполнение рассматриваемой функции оказывается успешным, возвращается значение TRUE. В противном случае возвращается значение FALSE.

 

Включаемый файл

winbase.h

 

См. также

GetCurrentDitrectory.

 

Пример

См. пример применения функции GetCurrentDitrectory.

 

SetEnvironmentVariable                  * Windows 98   + Windows 2000

 

Описание

Функция SetEnvironmentVariable изменяет значение уже существующей переменной окружения либо создает новую переменную окружения с указанным значением.

 

Синтаксис

BOOL SetEnvironmentVariable(LPCTSTR IpszName, LPCTSTR IpszValue)

 

Параметры

 

IpszName

LPCTSTR: Указатель на строку, завершающуюся нулевым символом и определяющую имя устанавливаемой переменной окружения.

 

IpszValue

LPCTSTR: Указатель на строку, завершающуюся нулевым символом и содержащую новое значение указанной переменной окружения. Если это значение равно NULL, переменная окружения удаляется.

 

Возвращаемое значение

BOOL: Если выполнение рассматриваемой функции оказывается успешным, возвращается значение TRUE. В противном случае возвращается значение FALSE. Для получения кода ошибки следует воспользоваться функцией GetLastError.

 

Включаемыйфайл

winbase.h

 

См. также

GetEnvironmentVariable, SetEnvironmentStrings.

 

Пример

См. пример применения функции GetEnvironmentVariable.

 

SetLocalTime                            • Windows 98   • Windows 2000

 

Описание

Функция SetLocalTime устанавливает текущие местное время и дату. Время изменяется в соответствии со значениями из структуры SYSTEMTIME. При этом изменяется как местное, так и системное время, поскольку первое является производным от второго.

 

Синтаксис

BOOL SetLocaITime(CONST SYSTEMTIME* Ipsi)

 

Параметры

 

Ipsi

CONST SYSTEMTIME*: Указатель на структуру SYSTEMTIME, которая содержит устанавливаемые дату и время. Определение структуры SYSTEMTIME приведено при описании функции GetSystemTime.

 

Возвращаемое значение

BOOL: Если выполнение рассматриваемой функции оказывается успешным, возвращается значение TRUE. В противном случае возвращается значение FALSE. Для получения кода ошибки следует воспользоваться функцией GetLastError.

 

Включаемый файл

winbase.h

 

См. также

GetLocalTime, SetSystemTime.

 

Пример

См. пример применения функции GetLocalTime.

 

SetSysColors                             • Windows 98   + Windows 2000

 

Описание

Функция SetSysColors заменяет RGB-значения указанных системных цветов вновь предоставленными цветовыми значениями. Системные цвета устанавливаются глобально для элементов отображения, перечисленных в табл. 21.13. Для уведомления всех окон об изменении цвета им посылается сообщение WM_SYSCOLORCHANGE. При этом Windows автоматически перерисует все компоненты всех видимых окон, которых коснулись изменения цвета.

 

Синтаксис

BOOL SetSysColors(int nDspElements, CONST INT* IpnDspElements, CONST COLORREF* IpdwRgbValues)

 

Параметры

 

nDspElements

int: Количество элементов в списке IpnDspElements, определяющем изменяемые элементы отображения. Кроме этого, этот параметр определяет количество элементов в списке IpdwRgbValues.

 

IpnDsp Elements

CONST INT*: Указатель на массив индексов элементов отображения. Полный список элементов отображения, из которых делается соответствующий выбор, приведен в табл. 21.13.

 

IpdwRgb Values

CONST COLORREF*: Указатель на массив значений COLORREF, соответствующих элементам отображения, установленным в массиве, на который указывает параметр IpnDspElements. Для создания новых цветов, задаваемых   через   красную,   зеленую   и   синюю   составляющие,   следует использовать макрокоманду RGB. Значение каждой из упомянутых цветовых составляющих изменяется в пределах от 0 до 255 в зависимости от вклада каждой из них в составной цвет. Так, значение 0 указывает на то, что данная составляющая отсутствует, а значение 255 означает, что данная составляющая полностью присутствует' в цвете (с максимальной яркостью). Перечень наиболее распространенных цветов и их RGB эквивалентов приведен в табл. 21.14.

 

Возвращаемое значение

BOOL: Если выполнение рассматриваемой функции оказывается успешным, возвращается значение TRUE. В противном случае возвращается значение FALSE. Для получения кода ошибки следует воспользоваться функцией GetLastError.

 

Включаемый файл

winbase.h

 

См. также

GetSysColors.

 

Сообщения, связанные с данной функцией

 

WM_SYSCOLORCHANGE

 

Пример

См. пример применения функции GetSysColors.

 

Таблица 12.13 Предопределенные

константы системных цветов

 

Идентификатор ивета

Описание элемента отображения

 

COLOR_3DDKSHADOW

Цвет затенения для трехмерных эффектов

 

COLOR_3DFACE

Цвет грани для трехмерных эффектов

 

COLOR_3DHILIGHT

Цвет подсветки для трехмерных эффектов (краев, обращенных лицом к источнику света)

 

COLOR_3DHIGHLIGHT

То же, что и COLOR_3DHILIGHT

 

COLOR_3DLIGHT

Цвет света для трехмерных эффектов (краев, обращенных лицом к источнику света)

 

COLOR_3DSHADOW

Цвет тени для трехмерных эффектов (краев, обращенных лицом к источнику света)

 

COLOR_ACTIVEBORDER

Цвет обрамления окна, когда оно является текущим активным окном

 

COLOR_ACTIVECAPTION

Цвет строки заголовка окна, когда оно является текущим активным окном. Если при этом разрешено действие градиента, тогда данный цвет оказывается цветом левой стороны градиента

 

COLOR_APPWORKSPACE

Цвет фона пользовательской области контейнера интерфейса  MDI

 

COLOR_BACKGROUND

Цвет рабочего стола Windows

 

COLOR_BTNFACE

Цвет лицевой части нажимаемых кнопок

 

COLOR_BTNLIGH

Цвет подсветки обрамления нажимаемых кнопок. (То же, что и COLOR_3DHILIGHT)

 

COLOR_BTNHIGHLIGHT

То же, что и  COLOR_3DHIGHLIGHT

 

COLOR_BTNSHADOW

Цвет затенения в обрамлении нажимаемых кнопок

 

COLOR_BTNTEXT

Цвет текста нажимаемых кнопок

 

COLOR_CAPTIONTEXT

Цвет текста заголовка, окна размера и окна со стрелкой на полосе прокрутки

 

COLOR_DESKTOP

То же, что и COLOR_BACKGROUND

 

COLOR_GRADIENTACTIVECAPTION

Цвет правой стороны градиента в строке заголовка активного окна

 

COLOR_GRADIENTINACTIVECAPTION

Цвет правой стороны градиента в строке заголовка неактивного окна

 

COLOR_GRAYTEXT

Цвет серого текста. Серый текст используется для обозначения отключенных элементов управления.  Если текущий драйвер устройства не поддерживает сплошной серый цвет, это значение следует установить равным нулю

 

COLOR_HIGHLIGHT

Цвет фона выделенных элементов (например, элементов списка)

 

COLOR_HIGHLIGHTTEXT

Цвет текста выделенных элементов (например, элементов списка)

 

COLOR_HOTLIGHT

Цвет активного элемента. Активный элемент приводится в исполнение одним щелчком на этом элементе

 

Идентификатор цвета

Описание элемента отображения

 

COLOR_INACTIVEBORDER

Цвет окна, когда оно не является активным

 

COLOR_INACTIVECAPTION

Цвет заголовка окна, когда оно не является активным

 

COLOR_INACT I VECAPT I ОЛТЕХТ

Цвет текста в заголовке окна, когда оно не является активным

 

COLOR_INFOBK

Цвет фона для элементов управления всплывающими подсказками

 

COLOR_INFOTEXT

Цвет текста для элементов управления всплывающими подсказками

 

COLOR_MENU

Цвет фона меню

 

COLOR_MENUTEXT

Цвет текста в меню

 

COLOR_SCROLLBAR

Цвет фона полосы прокрутки

 

COLOR_WINDOW

Цвет фона окна

 

COLOR_WINDOWFRAME

Цвет рамки окна. Этот цвет нельзя установить через панель управления (Control Panel)

 

COLOR_WINDOWTEXT

Цвет текста в окне

 

Таблица 21.14 Наиболее распространенные цвета и их RGB эквиваленты

 

Цвет

Красная составляющая ивета

Зеленая составляющая        

Синяя составляющая цвета                                       ивета

 

Черный

0

0

0

 

Синий

0

0

255

 

Серый

128

128

128

 

Зеленый

0

255

0

 

Пурпурный

255

0

255

 

Красный

255

0

0

 

Бирюзовый

0

255

255

 

Белый

255

255

255

 

Желтый

255

255

0

 

SetSystemPowerState                    • Windows 98   • Windows 2000

 

Описание

Функция SetSystemPowerState временно завершает работу системы, отключая питание. В зависимости от состояния признака bForceFlag рассматриваемая функция временно прекращает работу системы непосредственно либо предварительно запрашивает разрешение на это у всех приложений и драйверов устройств. Для этого требуется наличие усовершенствованной системы управления энергопотреблением (Advanced Power Management — АРМ). При временном прекращении работы системы потребление электроэнергии сводится к минимуму.

 

Синтаксис

BOOL SetSystemPowerState(BOOL bSuspendOrHibernate, BOOL bForceFlag)

 

Параметры

 

bSuspendOrHibe

mate

 

BOOL: Режим временного завершения работы системы. Для временного завершения работы системы с использованием метода активного ОЗУ следует установить значение TRUE данного параметра. В противном случае для временного завершения работы системы используется метод перевода системы в состояние ожидания.

 

bforctflig

BOOL: Принудительное прекращение работы системы. Если установлено значение    TRUE данного   параметра,   функция   посылает   сообщение PBT_APMSUSPEND всем приложениям и драйверам, а затем сразу же переходит к временному завершению работы системы. Если же для данного параметра установлено значение FALSE, функция посылает сообщение PBT_APMQUERYSUSPEND всем приложениям, тем самым запрашивая разрешение на временное завершение работы системы. Указанные выше сообщения посылаются с использованием WM_POWERBROADCAST.

 

Возвращаемое значение

BOOL: Если выполнение функции оказывается успешным, возвращается значение TRUE. В противном случае возвращается значение FALSE. Для получения кода ошибки следует использовать функцию GetLastError.

 

Включаемый файл

winbase.h

 

См. также

GetSystemPowerStatus .

 

Сообщения, связанные с данной функцией

 

WM_POWERBROADCAST

 

Пример

См. пример применения функции GetSystemPowerStatus.

 

SetSystemTime                           • Windows 98   • Windows 2000

 

Описание

Функция SetSystemTime изменяет время в соответствии со значениями, указанными в структуре SYSTEMTIME. Значения в этой структуре носят абсолютный характер, т.е. не допускают настройку местного времени. Для применения рассматриваемой функции в Windows 2000 у соответствующего приложения должны быть привилегии THnaSE_SYSTEMTIME_NAME.

 

Синтаксис

BOOL SetSystemTime(CONST SYSTEMTIME* Ipst)

 

Параметры

 

Ipst

CONST SYSTEMTIME*: Указатель на структуру SYSTEMTIME, которая содержит новое системное время. Определение структуры SYSTEMTIME приведено в описании функции GetSystemTime.

 

Возвращаемое значение

BOOL: Если выполнение рассматриваемой функции оказывается успешным, возвращается значение TRUE. В противном случае возвращается значение FALSE.

 

Включаемый файл

winbase.h

 

См. также

GetSystemTime .

 

Пример

См. пример применения функции GetLocalTime.

 

SetTimeZonelnformation                  +  Windows 98   «• Windows 2000

 

Описание

Функция SetTimeZonelnformation устанавливает параметры текущего временного пояса.

 

Синтаксис

BOOL SetTimeZoneInformation(CONST TIME_ZONE_INFORMATION* Ipstzi)

 

Параметры Ipstzi

CONST TIME_ZONE_INFORMATION*: Указатель на структуру TIME_ZONE_INFORMATION, которая содержит новую информацию о временном поясе. Определение структуры TIME_ZONE_INFORMATION приведено в описании функции GetTimeZonelnformation.

 

Возвращаемое значение

BOOL: Если выполнение функции оказывается успешным, возвращается значение TRUE. В противном случае возвращается значение FALSE. Для получения кода ошибки следует воспользоваться функцией GetLastError.

 

Включаемый файл

winbase.h

 

См. также

GetTimeZonelnformation, GetLastError, GetLocalTime, SetLocalTime.

 

Пример

См. пример применения функции GetTimeZonelnformation.

 

SetVolumelnformation                    + Windows 98   * Windows 2000

 

Описание

Функция SetVolumelnformation заменяет метку тома на данном накопителе новым указанным значением. Метка текущего тома может быть получена в приложении с помощью функции GetVolumelnformation.

 

Синтаксис

BOOL SetVolumeInformation(LPCTSTR IpszRootPathName, LPTSTR Ipsz VolumeName,)

 

Параметры

 

IpszRootPathName

LPCTSTR Указатель на строку, завершающуюся нулевым символом и содержащую имя пути к корневому каталогу диска с томом, метка которого будет устанавливаться. Если для данного параметра установлено значение NULL, используется том диска, текущего для данного процесса.

 

Ipsz Volume Name

LPTSTR Указатель на строку, завершающуюся нулевым символом и содержащую новое имя тома. Если для данного параметра установлено значение NULL, имя текущего тома удаляется.

 

Возвращаемое значение

BOOL Если выполнение рассматриваемой функции оказывается успешным. возвращается значение TRUE. В противном случае возвращается значение FALSE. Для возврата кода ошибки следует использовать функцию GetLastError.

 

Включаемый файл

winbase.h

 

См. также

GetVolumelnformation.

 

Пример

Когда пользователь выбирает пункт меню Test!, отображается имя тома, серийный номер тома, установленная файловая система, а также возможная поддержка расширенных имен файлов. Если в командной строке указывается аргумент запускаемой на выполнение программы, метка тома также устанавливается в соответствие со значением этого аргумента.

 

См.    \local-sources\chap21\21-17. txt

 

SystemParameterslnfo                   * Windows 98   * Windows 2000

 

Описание

Функция SystemParameterslnfo запрашивает и устанавливает общесистемные параметры. Эти параметры описывают свойства доступности системы, стадии сохранения экрана, настройку режима работы клавиатуры и мыши, метрические показатели окон, пиктограмм и рабочих областей, выравнивание раскрывающихся меню, а также драйвер текущего языка. Кроме того, данная функция позволяет записывать обновленную информацию в системный реестр. Функция SystemParameterslnfo предназначена главным образом для применения в приложениях в качестве панели управления, которая обеспечивает возможность специальной настройки среды Windows.

 

Синтаксис

BOOL SystemParametersInfo(UINT uAction, UINT uParam, PVOID pvParam, UINT fUpdateProflle)

 

Параметры

 

uAction

UINT: Команда, которая определяет изменяемый системный параметр, а также его запрос или установку. Этот параметр может принимать одно из значений, перечисленных в табл. 21.15.

 

uParam

UINT: Общий параметр настройки, применение которого зависит от действия, указанного в параметре uAction. Перечень подобных действий перечислен в табл. 21.15, где также указано, каким образом такие параметры применяются. Если параметр uParam не указан в качестве применяемого в данном действии, тогда его значение необходимо установить равным 0.

 

pvParmm

PVOID: Общий параметр настройки, применение которого зависит от действия, указанного в параметре uAction. Перечень подобных действий приведен в табл. 21.15, где также указано, каким образом такие параметры применяются. Если параметр pvParam не указан в качестве применяемого в данном действии, его значение необходимо установить равным NULL.

 

fUpdateProflle

UINT: Признак, который определяет, будет ли обновлен в системном реестре профиль пользователя. Возможные значения параметра fUpdateProfile приведены в табл. 21.16.

 

Возвращаемое значение

BOOL: Если выполнение рассматриваемой функции окажется успешным, тогда возвращается значение TRUE. В противном случае возвращается значение FALSE Для получения кода ошибки следует использовать функцию GetLastError.

 

Включаемый файл

winbase.h

 

См. также

GetSystemMetrics.

 

Сообщения, связанные с данной функцией

WM_WININICHANGE

 

Синтаксис обратнoro вызова

LRESULT CALLBACK SoundSentryProc (DWORD dwMillisec, DWORD fdwEffect)

 

Параметры обратного вызова

 

dwMillisec

DWORD: Длительность (в миллисекундах) визуального сигнала, который отображается в случае, когда звук формирует приложение Windows или MS-DOS, выполняемое в окне.

 

dwMillisec

DWORD: Тип отображаемого визуального сигнала. В настоящее время это значение должно быть всегда равно SSWF_CUSTOM.

 

Значение, возвращаемое при обратном вызове

 

LRESULT: Если визуальный сигнал был или будет отображен корректно, возвращается значение TRUE. Если же этот сигнал оказывается асинхронным и состояние его отображения при вызове данной функции недоступно, то и в этом случае должно возвращаться значение TRUE. А если отображению данного сигнала помешала ошибка, возвращается значение FALSE.

 

Пример

Когда пользователь выбирает в приведенном ниже примере пункт меню Test!, в окнах сообщений будет отображаться состояние двух параметров настройки доступности:   ToggleKeys и MouseKeys. При этом параметр ToggleKeys формирует звуковой сигнал при нажатии клавиш Caps Lock, Num Lock или Scroll Lock. Параметр MouseKeys переназначает клавиши цифровой клавиатуры для перемещения мыши.

 

См.    \local-sources\chap21\21-18. txt

 

Таблица 21.15 Действия и параметры функции SystemParameterslnfo

 

Действие

Описание

 

SPI_GETACCESSTIMEOUT

Осуществляет выборку данных из структуры ACCESSTIMEOUT, описывающей период времени,  в течение которого прерываются действия таких свойств доступности, как  StickyKeys, что дает возможность поочередно выполнять последовательности нажатых клавиш. При этом параметр pvParam указывает на структуру ACCESSTIMEOUT, в которую поступает подобная информация.  Определение структуры ACCESSTIMEOUT приводится ниже

 

SPI_GETACTIVCTINDOHTRACKING

Определяет состояние включения или выключения режима отслеживания активного окна. При этом параметр pvParam должен указывать на переменную типа  BOOL, которая принимает значение  TRUE при включении указанного выше режима либо FALSE при его выключении

 

Определяет, будут ли выводиться на передний план окна, активизированные за счет отслеживания активного окна. При этом параметр pvParam должен указывать на переменную типа  BOOL, которая принимает значение  TRUE при включении указанного режима либо  FALSE при его выключении

 

SPI_GETJICT1VBMNUTRKZOM1>KK

 

SPI GETACTIVEWNDRKTIMEOUT

Осуществляет выборку величины задержки (в миллисекундах) отслеживания активного окна. При этом параметр pvParam должен указывать на переменную типа DWORD, которая принимает величину указанной выше временной задержки

 

SPI_GETANIMATION

Осуществляет выборку данных из структуры ANIMATIONINFO, которая описывает эффекты анимации, доступные для текущего пользователя. При этом параметр pvParam указывает на структуру   ANIMATIONINFO. Определение структуры  ANIMATIONINFO приводится ниже

 

SPI_GETBEEP

Указывает,  когда именно включено устройство предупреждающей звуковой сигнализации. Параметр  pvParam указывает на значение типа  BOOL, которое устанавливается равным TRUE, если устройство предупреждающей звуковой сигнализации включено.  В противном случае это значение равно FALSE

 

Действие

Описание

 

SPI_GETBORDER

Возвращает множитель размера, который изменяет ширину и длину используемых в системе границ с изменяемым размером. При этом параметр pvParam указывает на целочисленную переменную, в которой устанавливается множитель размера границ

 

SPI_GETCARETWIDTH

Осуществляет выборку ширины знака вставки в элементах управления редактированием. При этом параметр  pvParam должен указывать на значение типа  DWORD, которое принимает ширину знака вставки в точках растра

 

SPI_COMBOBOXANIMATION

Возвращает значение   TRUE, если разрешен эффект скольжения при открытии полей со списком. В противном случае возвращается значение  FALSE. Параметр pvParam должен указывать на переменную типа   BOOL

 

SPI GETCURSORSHADOW

Возвращает значение  TRUE, если вокруг курсора находится тень. В противном случае возвращается значение  FALSE. Параметр pvParam должен указывать на переменную типа BOOL

 

SPI_GETDEFAULTINPUTLANG

Возвращает дескриптор раскладки клавиатуры для языка, устанавливаемого в системе по умолчанию. Параметр pvParam указывает на 32-разрядную переменную, которая принимает дескриптор раскладки клавиатуры

 

SPI_GETDESKWALLPAPER

Осуществляет выборку полного пути к растровому файлу фоновой заставки рабочего стола. Параметр  pvParam должен указывать на буфер, в который поступает строка, завершающаяся нулевым символом и содержащая указанный путь. Размер буфера  pvParam задается через параметр uParam. Длина возвращаемой строки не будет превышать МАХ_РАТН символов

 

SPI_GETDRAGFULLWINDOW

Определяет, включен ли режим перетаскивания целых окон. Параметр pvParam указывает на значение типа  BOOL, которое устанавливается равным  TRUE, если режим перетаскивания разрешен.  В противном случае это значение устанавливается равным  FALSE

 

SPI_GETFXLTCRKEYS

Осуществляет выборку данных из структуры  FILTERKEYS, которая описывает свойство доступности FilterKeys. Параметр pvParam указывает на структуру  FILTERKEYS. Определение структуры  FILTERKEYS приводится ниже

 

SPI_GETFONTSMOOTHING

Определяет, разрешено ли использование свойства сглаживания шрифта. В этом свойстве применяется сглаживание шрифта, которое придает кривым шрифта более плавный вид за счет раскрашивания точек растра разными градациями серого. Параметр pvParam указывает на переменную типа   BOOL, которая принимает значение   TRUE, если использование указанного свойства разрешено. В противном случае она принимает значение  FALSE

 

SPI_GETFOREGROUNDFLASHCOUNT

Осуществляет выборку количества миганий кнопки на панели задач, осуществляемых функцией  SetForegroundWindow при получении отказа на запрос о переключении на передний план. Параметр  pvParam должен указывать на переменную типа  DWORD, которая принимает упомянутое значение

 

Действие

Описание

 

SPI_GETFOREGROUND LOCKTIMEOUT

Осуществляет выборку периода времени (в миллисекундах), который следует после ввода пользователем данных и в течение которого система не позволяет приложениям принудительно переходить в фоновый режим. Параметр pvParam должен указывать на переменную типа  DWORD, которая принимает значение упомянутого периода времени

 

SPI_GETGRADIENTCAPTIONS

Возвращает значение TRUE, если в строках заголовков окон разрешено действие градиента. В противном случае возвращается значение  FALSE. Параметр pvParam должен указывать на переменную типа  BOOL

 

SPI_GETGRIDGRANULARITY

Определяет расстояние между элементами, размещаемыми на рабочем столе Windows. Параметр  pvParam указывает на целочисленную переменную,  в которой устанавливается значение степени разрешения сетки рабочего стола

 

SPI_GETHIGHCONTRAST

Осуществляет выборку данных из структуры HIGHCONTRAST, которая описывает свойство доступности HighContrast для пользователей с ослабленным зрением. Параметр pvParam указывает на структуру HIGHCONTRAST, в которую поступает упомянутая информация. Определение структуры  HIGHCONTRAST приведено ниже

 

SPI_GETHOTTRACKING

Возвращает значение TRUE, если включен режим оперативного отслеживания элементов пользовательского интерфейса. В противном случае возвращается значение  FALSE. Параметр pvParam должен указывать на переменную типа  BOOL

 

SPI GETICONMETRICS

Осуществляет выборку данных из структуры  ICONMETRICS, которая описывает метрические показатели пиктограмм. Параметр pvParam указывает на структуру ICONMETRICS, в которую поступают метрические показатели. Определение структуры  ICONMETRICS приводится ниже

 

SPIJJETICOMTITbKLOGFONT

Осуществляет выборку данных из структуры LOGFONT, которая описывает шрифт, используемый в пиктограмме для отображения текста ее заголовка. Параметр  pvParam указывает на структуру LOGFONT, в которую поступают данные, описывающие используемый шрифт. Определение структуры LOGFONT дано при описании функции CreateFontlndirect в главе 1 2

 

SPI_GETICONTITLEWRAP

Определяет, будет ли включен или отключен режим переноса заголовка пиктограммы на следующую строку. Параметр pvParam должен указывать на переменную типа BOOL, которая принимает значение  TRUE, если режим переноса заголовка пиктограммы на следующую строку включен, либо значение  FALSE, если этот режим выключен

 

SPI_GETKEYBOARDCUES

Указывает, являются ли всегда подчеркнутыми буквы клавиш оперативного доступа к пунктам меню. Параметр pvParam должен указывать на переменную типа  BOOL, которая принимает значение  TRUE, если буквы клавиш оперативного доступа к пунктам меню всегда подчеркиваются. В противном случае она принимает значение  FALSE

 

SPI_GETKEYBQARDDELAY

Осуществляет выборку параметра настройки, определяющего задержку повторения нажатой на клавиатуре клавиши. Параметр pvParam указывает на переменную типа  UINT, которая принимает значение текущего параметра настройки,

 

Действие

Описание

 

SPI GETNONCLIENTMETRICS

Осуществляет выборку метрических показателей для отличной от пользовательской области минимизированных окон из структуры  NONCLIENTMETRICS. Параметр pvParam указывает на структуру  NONCLIENTMETRICS, в которую поступают указанные выше метрические показатели. Определение структуры  NONCLIENTMETRICS приводится ниже

 

Определяет, является ли разрешенной стадия сохранения экрана при отключении питания. В этом режиме питание на монитор не подается. Параметр pvParam указывает на переменную типа BOOL, в которой устанавливается значение  TRUE, если фаза сохранения экрана при отключении питания разрешена. В противном случае устанавливается значение FALSE

 

spijSKxtomaorFTiHEouT

Осуществляет выборку значения времени простоя для фазы сохранения экрана при отключении питания. Параметр pvParam используется для указания на целочисленную переменную, которая принимает значение текущего показателя времени простоя для входа в режим сохранения экрана при отключении питания

 

SPI GETSCREENREADER

Определяет наличие утилиты анализа содержимого экрана, которая переадресует текстовые данные в устройство отображения брайлевской печати для слепых или в синтезатор речи.  При наличии установленной утилиты анализа содержимого экрана в приложениях имеется возможность запросить данное свойство,  чтобы тем самым привести в действие программное обеспечение, предназначенное для пользователей с ослабленным зрением и выполняющее вывод графических данных в виде речи или кода Брайля. Параметр pvParam указывает на переменную типа BOOL, в которой устанавливается значение TRUE, если утилита анализа содержимого экрана установлена. В противном случае устанавливается   FALSE

 

SPIJ3ETSCREENSAVEACTIVE

Определяет, включен или отключен режим сохранения экрана. Параметр pvParam указывает на переменную типа BOOL, в которой устанавливается значение TRUE, если режим сохранения экрана включен. В противном случае устанавливается значение  FALSE

 

SPI GETSCREENSAVERRUNNING

Определяет, выполняется ли в настоящий момент программа сохранения экрана. Параметр pvParam указывает на переменную типа  BOOL, в которой устанавливается значение TRUE, если программа сохранения экрана в настоящий момент выполняется, либо FALSE, если она не выполняется

 

SPI_GETSCREENSAVETIMEOUT

Возвращает значение времени простоя для сохранения экрана. Параметр pvParam указывает на целочисленную переменную, которая принимает значение времени простоя в миллисекундах

 

SPI_GETSELECTIONFADE

Определяет, разрешен ли эффект постепенного исчезновения выделенной области. Параметр pvParam должен указывать на переменную типа  BOOL, в которой устанавливается значение TRUE, если упомянутый эффект разрешен, либо FALSE, если он не разрешен

 

SPI_GETSERIALKEYS

Осуществляет выборку данных из структуры SERIALKEYS, которая описывает свойство доступности   SerialKeys. Параметр pvParam указывает на структуру SERIALKEYS, в которую поступают данные о свойстве доступности SerialKeys. Определение структуры SERIALKEYS приводится ниже

 

Действие

Описание

 

SPI_GETSHOWIMEUI

Определяет, является ли видимым окно состояния  IME. Параметр pvParam должен указывать на переменную типа BOOL, в которой устанавливается значение  TRUE, если указанное выше окно оказывается видимым, либо  FALSE, если оно невидимо

 

SPI_GETSHOWSOUNDS

Определяет, предпочитает ли пользователь визуальное представление звука. Это дает приложениям возможность привести в действие программное обеспечение,  предназначенное для пользователей с ослабленным слухом и выводящее звук в виде графических данных. Параметр pvParam указывает на переменную типа   BOOL, в которой устанавливается значение TRUE, если свойство  ShowSounds разрешено

 

SPI_GETSOUNDSENTRY

Осуществляет выборку данных из структуры  SOUNDSENTRY, которая описывает параметры свойства доступности  SoundSentry. Параметр pvParam указывает на структуру SOUNDSENTRY, в которую поступают данные о свойстве доступности   SoundSentry. Определение структуры  SOUNDSENTRY приводится ниже

 

SPI GETSNAPTODEFBUTTON

Определяет, разрешено ли свойство фиксации по кнопке, используемой по умолчанию. Параметр pvParam должен указывать на переменную типа  BOOL, в которой устанавливается значение  TRUE, если указанное выше свойство разрешено, либо FALSE, если оно запрещено

 

SPI_GETSTICKYKEYS

Осуществляет выборку данных из структуры  STICKYKEYS, которая описывает параметры свойства доступности   SlickyKeys. Параметр pvParam указывает на структуру STICKYKEYS, в которую поступают данные о свойстве доступности StickyKeys. Определение структуры  STICKYKEYS приводятся ниже

 

SPI_GETTOGGLEXEYS

Осуществляет выборку данных из структуры TOGGLEKEYS, которая описывает параметры свойства доступности  ToggleKeys. Свойство ToggleKeys позволяет испускать сильный шум при нажатии модифицирующей клавиши и слабый тон при ее отпускании. Параметр  pvParam указывает на структуру TOGGLEKEYS, в которую поступают данные о свойстве доступности ToggleKeys. Определение структуры  TOGGLEKEYS приведено ниже

 

SPI_GETTOOLTIPAKIMATION

Указывает, разрешена ли анимация всплывающей подсказки (ToolTip). Параметр pvParam должен указывать на переменную типа BOOL, которая принимает значение  TRUE, если указанная выше анимация разрешена, либо значение  FALSE, если она запрещена

 

SPI_GETTOOLTIPFADE

Если признак  SPI_SETTOOLTIPANIMATION установлен, тогда он определяет, используется ли в анимации эффект постепенного исчезновения или скольжения. Параметр  pvParam должен указывать на переменную типа  BOOL, которая принимает значение  TRUE, если разрешена анимация постепенного исчезновения, либо  FALSE, если разрешена анимация эффекта скольжения

 

SPI_GETWHEELSCROLLLINES

Осуществляет выборку количества строк,  прокручиваемых при вращении колесика мыши. Параметр pvParam должен указывать на переменную типа  UINT, которая принимает количество прокручиваемых строк

 

.Действие

Описание

 

SPI_SETDRAGWIDTH

Устанавливает в соответствии со значением, определяемым параметром uParam, ширину (в точках растра) прямоугольной области, которая используется для обнаружения начала операции перетаскивания

 

SPI_SETFILTERKEYS

Устанавливает параметры свойства доступности FilterKeys в соответствии со значениями, определяемыми структурой FILTERKEYS, на которую указывает параметр  pvParam. Определение структуры FILTERKEYS приводится ниже

 

SPI_FONTSMOOTHING

Разрешает или запрещает свойство сглаживания шрифта. Для разрешения указанного выше свойства следует установить значение TRUE параметра  uParam, а для его запрета — FALSE

 

SPI_SETFOREGROONDFLASHCOUNT

Устанавливает число миганий кнопки на панели задач, осуществляемых функцией SetForegroundWindow при получении отказа на запрос о переключении на передний план. Число миганий указанной кнопки устанавливается в параметре  pvParam

 

SPI_SETFOREGRODNDLOCKTIMEODT

Устанавливает период времени (в миллисекундах), который следует после ввода пользователем данных и в течение которого система не позволяет приложениям принудительно переходить в фоновый режим. Новое значение указанного периода устанавливается в параметре  pvParam

 

SPI_SETGRJUDIENTCAPTXOHS

Разрешает или запрещает действие градиента в строках заголовков окон. Для разрешения указанного эффекта следует установить значение TRUE параметра pvParam, a для его запрета — FALSE

 

SPI_SETGRIDGRANULARITY

Устанавливает в соответствии со значением параметра pvParam расстояние между элементами, размещаемыми на рабочем столе Windows

 

SPI_SETHIGHCONTRAST

Устанавливает параметры свойства доступности HighContrast в соответствии со значениями, определяемыми структурой HIGHCONTRAST, на которую указывает параметр pvParam. Определение структуры HIGHCONTRAST приведено ниже

 

SPI_SETHOTTRACKING

Включает или выключает режим оперативного отслеживания элементов пользовательского интерфейса,  в частности, наименований пунктов меню в строке меню. Для включения указанного режима следует установить значение TRUE параметра pvParam, а для его выключения — FALSE

 

SPI_SETICONS

Перезагружает системные пиктограммы. Для этого потребуется установить нулевое значение параметра pvParam и значение NULL параметра  uParam

 

SPI_SETICONMETRICS

Устанавливает метрические показатели пиктограмм в соответствии со значениями, определяемыми структурой ICONMETRICS, на которую указывает параметр pvParam. Определение структуры ICONMETRICS приводится ниже

 

SPI_SETINCOUTITLELOGFONT

Устанавливает шрифт заголовка пиктограммы в соответствии со значениями, определяемыми структурой LOGFONT, на которую указывает параметр pvParam. Определение структуры LOGFONT дано при описании функции CreateFontlndirect в главе 1 2

 

Действие

Описание

 

SPI_SETICONTITLEWRAP

Включает или отключает режим переноса заголовка пиктограммы на следующую строку. Если установлено значение TRUE параметра pvParam, перенос заголовка пиктограммы на следующую строку включается. В противном случае этот режим отключается

 

SPI_SETKEYBOARDCOES

Устанавливает подчеркивание букв клавиш оперативного доступа к пунктам меню. Параметр pvParam представляет собой переменную типа BOOL. Для того чтобы буквы клавиш оперативного доступа к пунктам меню подчеркивались всегда,  необходимо установить значение TRUE параметра pvParam, а если требуется, чтобы буквы клавиш оперативного доступа к пунктам меню подчеркивались только при активизации меню с клавиатуры, следует установить значение FALSE данного параметра

 

SPI_SETKEYBOARDDELAY

Устанавливает задержку повторения нажатой на клавиатуре клавиши в соответствии со значением, определяемым параметром  pvParam

 

SPI_SETKEYBOARDPREF

Устанавливает предпочитаемый пользователем режим отображения скрытых клавиатурных интерфейсов, заменяющих интерфейсы, в которых используется мышь. Если установлено значение TRUE параметра  pvParam, упомянутый режим включается. В противном случае этот режим отключается

 

SPI_SETKEYBQARDSPEED

Устанавливает параметр настройки, определяющий скорость повторения нажатой на клавиатуре клавиши (в миллисекундах) в соответствии со значением, определяемым параметром pvParam

 

SPI_SETLANGTOGGLE

Устанавливает комбинацию оперативных клавиш для переключения между входными языками. Этот признак определяет установку значений оперативных клавиш в таблицах параметров клавиатуры благодаря повторному их чтению из системного реестра. Прежде чем использовать данный признак,  потребуется установить соответствующие значения в системном реестре. Путь к этим значениям в системном реестре следующий: \HKEY_CURRENT_USER\keyboard layout\toggle. Действительными значениями являются: 1   — оперативные клавиши [ALT]+[SHIFT], 2 —  оперативные клавиши [CTRLJ+ISHIFTJ и 3 — оперативные клавиши отсутствуют.

 

SPI_SETLISTBOXSMOOTHSCROLLING

Разрешает или запрещает действие плавной прокрутки в списке выбора. Для разрешения указанного действия следует установить значение  TRUE параметра pvParam, a для его запрета - FALSE

 

SPI_SETLOHPOHERACTIVE

Если установлено значение TRUE параметра pvParam, фаза сохранения экрана при малом энергопотреблении становится активной. В противном случае она перестает быть активной

 

SPI_SETLOWPOWERTIMEOUT

Устанавливает показатель времени простоя (в миллисекундах) для стадии сохранения экрана при малом энергопотреблении в соответствии со значением, определяемым параметром  pvParam

 

.Действие

Описание

 

SPI_SETMENUANIMATION

Разрешает или запрещает анимацию меню. Для разрешения указанного эффекта следует установить значение  TRUE параметра pvParam, а для его запрета — FALSE

 

SPI_SETMENUDROPALIGNMENT

Устанавливает выравнивание всплывающих меню по левому краю в случае, если параметр pvParam равен TRUE. В противном случае меню выравниваются по правому краю

 

SPI_SETMENUFADE

Разрешает или запрещает анимацию постепенного исчезновения меню. Для разрешения указанного эффекта следует установить значение TRUE параметра  uParam, а для его запрета —  FALSE

 

SPI_SETMENUSHADOWDELAY

Устанавливает в параметре  uParam период времени (в миллисекундах), в течение которого система ожидает, прежде чем отображать меню быстрого выбора команд, когда курсор мыши оказывается над пунктом подменю

 

SPI_SETMENUUNDERLINES

То же, что и действие  SPI_SETKEYBOARDCUES

 

SPI_SETMINIMIZEDMETRICS

Устанавливает метрические показатели минимизированных окон в соответствии со значениями,  определяемыми структурой MINIMIZEDMETRICS, на которую указывает параметр pvParam. Определение структуры  MINIMIZEDMETRICS приведено ниже

 

SPI_SETMOUSE

Устанавливает параметры в соответствии со значениями, определяемыми массивом трех значений, на которые указывает параметр pvParam. Эти целые значения представляют собой границы перемещения мыши по осям х и у, а также скорость перемещения мыши

 

SPI_SETMOUSEBUTTONSHAP

Меняет местами назначение левой и правой кнопок мыши. Если установлено значение TRUE параметра uParam, назначение кнопок мыши меняется местами. Если же установлено значение FALSE данного параметра,  восстанавливается первоначальное назначение кнопок мыши

 

SPI_SETMOUSEHOVERTEIGHT

Устанавливает высоту прямоугольника (в точках растра), в пределах которого должен оставаться указатель мыши для того, чтобы функция  TrackMouseEvent смогла сформировать сообщение  WM MOUSEHOVER. Новое значение указанной выше высоты передается в параметре  uParam

 
 

SPI_SETMOUSEHOVERTIME

Устанавливает период времени (в миллисекундах), в течение которого указатель мыши должен оставаться в пределах прямоугольника позиционирования мыши для того,  чтобы функция TrackMouseEvent смогла сформировать сообщение WM MOUSEHOVER. Новое значение упомянутого периода времени передается в параметре  uParam

 

SPI_SETMOUSEHOVERWIDTH

Устанавливает ширину прямоугольника (в точках растра), в пределах которого должен оставаться указатель мыши для того, чтобы функция   TrackMouseEvent смогла сформировать сообщение  WM MOUSEHOVER. Новое значение указанной выше ширины передается в параметре uParam

 

SPI_SETMOOSEKEYS

Устанавливает параметры свойства доступности MouseKeys в соответствии со значениями, определяемыми структурой MOUSEKEYS, на которую указывает параметр pvParam. Определение структуры MOUSEKEYS приводится ниже

 

Лействие

Описание

 

SPI SETMOHSESPEED

Устанавливает текущую скорость перемещения мыши. Параметр pvParam принимает целое значение в пределах от 1 (наименьшая скорость перемещения мыши) до 20 (наибольшая скорость перемещения мыши)

 

SPI SETMOUSETRAILS

Разрешает или запрещает свойство  Mouse Trails. Для запрета указанного свойства следует установить значение 0 или 1 параметра  uParam, а для его разрешения — значение больше 1 , чтобы тем самым указать число курсоров, рисуемых по следу мыши

 

SPI_SEWONCLIENTMEIRICS

Устанавливает метрические показатели для отличной от пользовательской области минимизированных окон в соответствии со значениями,  определяемыми структурой NONCLIENTMETRICS, на которую указывает параметр  pvParam. Определение структуры  NONCLIENTMETRICS приводится ниже

 

SPI_SETPENKINDOWS

Указывает,  загружается или выгружается система   Pen Windows. Если установлено значение  TRUE параметра   uParam, тогда выполняется загрузка. В противном случае выполняется выгрузка указанной выше системы

 

SPI SETPOWEROFFACTIVE

Делает активной или неактивной стадию сохранения экрана при отключении питания. Если установлено значение  1  параметра uParam, фаза сохранения экрана при отключении питания становится активной, а если установлено значение 0 данного параметра, упомянутая фаза или программа сохранения экрана становится неактивной

 

SPI_SETPOWEROFFTIMEOUT

Устанавливает в параметре  uParam значение времени простоя (в секундах) для фазы сохранения экрана при отключении питания

 

SPI_SETSCREENREADER

Указывает на то, что утилита анализа содержимого экрана в настоящий момент действует, если установлено значение  TRUE параметра   uParam. А если установлено значение  FALSE данного параметра, указанная выше утилита отсутствует

 

SPI_SETSCREENSAVEACTIVE

Включает или отключает режим сохранения экрана.  Если установлено значение  TRUE параметра  uParam, режим сохранения экрана включен. В противном случае этот режим отключен

 

SPI_SETSCREENSAVETIMEOUT

Устанавливает значение времени простоя для режима сохранения экрана в соответствии с числом секунд, определяемым параметром   uParam

 

SPI SETSELECTIONFADE

Разрешает эффект постепенного исчезновения выделенной области, который приводит к тому, что выделенный пользователем пункт меню кратковременно остается на экране, постепенно исчезая после закрытия меню. Для разрешения указанного выше эффекта следует установить значение  TRUE параметра pvParam, а для его запрета -   FALSE

 

SPI_SETSERIALKEYS

Устанавливает параметры свойства доступности  SerialKeys в соответствии со значениями, определяемыми структурой SERIALKEYS, на которую указывает параметр  pvParam. Определение структуры  SERIALKEYS приводится ниже

 

SPI_SETSHOWSOUNDS

Разрешает или запрещает свойство доступности  ShowSounds. Если установлено значение   TRUE параметра  uParam, упомянутое свойство разрешено. В противном случае это свойство запрещено

 

dwFlags

DWORD: Набор битовых признаков, которые определяют особенности свойства FilterKeys. Определенные значения этих признаков перечислены в табл. 21.18.

 

iWaitMSec

DWORD: Продолжительность времени в миллисекундах, в течение которого пользователь должен удерживать нажатой клавишу, прежде чем она будет воспринята компьютером.

 

iDelayMSec

DWORD: Продолжительность времени в миллисекундах, в течение которого пользователь должен удерживать нажатой клавишу, прежде чем начнется ее повторение.

 

iRepeatMSec

DWORD: Продолжительность времени в миллисекундах между очередными повторениями нажатой клавиши.

 

iBounceMSec

DWORD: Продолжительность времени в миллисекундах, которое должно пройти после отпускания клавиши, прежде чем компьютер воспримет последующее нажатие той же самой клавиши.

 

Таблица 21.18 Значения члена dwFlags структуры FILTERKEYS

 

Значение

Что означает

 

FKF_AVAILABLE

Свойство FilterKeys доступно

 

FKF_CLICKON

Компьютер воспроизводит щелкающий звук при нажатии или восприятии клавиш. Это означает, что если свойство SlowKeys включено, восприятие клавиш отделяется от их нажатия и сопровождается отдельным щелчком

 

FKF_CONFIRMHOTKEY

Когда свойства FilterKeys активизируются через оперативную клавишу, в Windows 98 появляется диалоговое окно подтверждения

 

FKF_FILTERKEYSON

Свойства FilterKeys включены

 

FKF_HOTKEYACTIVE

Пользователь может включить или отключить свойство FilterKeys, удерживая нажатой клавишу  Shift в течение восьми секунд

 

FKF_HOTKEYSOUND

Компьютер воспроизводит звук сирены, когда пользователь включает или выключает свойство FilterKeys с помощью оперативной клавиши

 

FKFJNDICATOR

Когда свойства FilterKeys включены, в Windows 98 отображается визуальный индикатор

 

Определение структуры HIGHCONTRAST

 

HIGHCONTRAST Definition

typedef struct tagHIGHCONTRAST {

UINT       cbSize;

DWORD    dwFlags ;

LPTSTR IpszDef aultScheme ; }    HIGHCONTRAST,   *   LPHIGHCONTRAST ;

 

Члены структуры HIGHCONTRAST

 

cbSize

UINT: Размер структуры в байтах.

 

dwFlags

DWORD: Определенное сочетание значений, перечисленных в табл. 21.19.

 

IpszDefaultScheme LPTSTR: Указатель на строку, завершающуюся нулевым символом и содержащую наименование используемой по умолчанию цветовой схемы

 

Таблица 21.19 Значения члена dwFlags структуры HIGHCONTRAST

 

Значение

Что означает

 

HCF_AVAILABLE

Режим повышенной контрастности (High Contrast Mode) доступен

 

HCF_CONFIRMHOTKEY

При активизации режима повышенной контрастности с помощью оперативной клавиши появляется диалоговое окно подтверждения

 

HCF_HIGHCONTRASTON

Режим повышенной контрастности включен

 

HCF_HOTKEYACTIVE

Пользователь может включить или выключить режим повышенной контрастности одновременным нажатием левой клавиши Alt, левой клавиши  Shift и клавиши Print Screen

 

HCF_HOTKEYAVAILABLE

Имеется возможность разрешить действие оперативной клавиши, связанной с режимом повышенной контрастности. Приложение может выбрать это значение, но не установить

 

HCF_HOTKEYSOUND

Воспроизведение сирены в случае, когда пользователь включает или выключает режим повышенной контрастности через оперативную клавишу

 

HCFJNDICATOR

Отображение визуального индикатора при включенном режиме повышенной контрастности. В настоящее время это значение не используется,  следовательно,  оно игнорируется

 

Определение структуры INCONMETRICStypedef struct taglCONMETRICS { UINT         cbSize ; int           iHor zSpacing ; int          iVertSpacing; int           iTitleWrap; LOGFONT  If Font; }    ICONMETRICS,   *LPICONMETRICS ;

 

Члены структуры INCONMETRICS

 

cbSize

UINT: Размер структуры в байтах.

 

iHorzSpacing

int: Расстояние по горизонтали (в точках растра) между последовательно расположенными пиктограммами.

 

iVertSpacing

int: Расстояние по вертикали (в точках растра) между последовательно расположенными пиктограммами.

 

iTitleWrap

int: Если значение этого члена не равно нулю, тогда заголовки пиктограмм автоматически переносятся на новую строку. Если оно равно нулю, перенос заголовков на новую строку не выпoлняeтqя.

 

IfFont

LOGFONT: Шрифт, используемый в заголовках пиктограмм. Более подробные сведения об этом приводятся в определении структуры LOGFONT при описании функции CreateFontlndirect (см. главу 12).

 

Определение структуры MINIMIZEDMETRICStypedef struct tagMINIMIZEDMETRICS< OINT cbSize; int    iWidth; int    iHorzGap; int    iVertGap; int    iArrange ; }       MINIMIZEDMETRICS,   *LPMINIMIZEDMETRICS;

 

Таблица 21.24 Значения члена iPortState структуры SERIALKEYS

 

Значение

Что означает

 

0

Входные данные, поступающие в данный порт, игнорируются свойством SerialKeys

 

1

Ввод данных в указанный порт контролируется для активизации последовательностей SerialKeys, если только этот порт не открыт каким-либо другим приложением

 

2

Все входные данные, поступающие в данный порт, рассматриваются в качестве команд SerialKeys

 

Определение структуры SOUNDSENTRY                   '

 

typedef struct tagSOUNDSENTRY { UINT    cbSize; DWORD dwFlags; DWORD iFSTextEffeet; DWORD  iFSTextEffectMSec; DWORD iFSTextEffectColorBits ; DWORD iFSGrafEffect; DWORD IFSGrafEffectMSec; DWORD iFSGrafEffectColor; DWORD iWindowsEf feet ; DWORD iWindowsEf f ectMSec ; LPTSTR IpszWlndowsEffectDLL; DWORD iWindowsEf f ectOrdinal ; }    SOUKDSENTRY,   *LPSOONDSENTRY;

 

Члены структуры SOUNDSENTRY

 

cbSize

UINT: Размер структуры в байтах.

 

dwFlags

DWORD: Набор битовых флагов, которые определяют особенности свойства SoundSentry. Соответствующие значения этого члена определены в табл. 21.25.

 

iFSTextEffeet

DWORD: Визуальный сигнал, отображаемый в момент, когда приложение, работающее в текстовом полноэкранном режиме виртуальной машины, формирует звук. Этот член может принимать одно из значений, перечисленных в табл. 21.26. В Windows 2000 значение данного члена следует установить равным 0.

 

FSTextEffectMSec

DWORD: Продолжительность времени (в миллисекундах), в течение которого визуальный сигнал отображается, когда приложение, работающее в текстовом полноэкранном режиме, формирует звук. В Windows 2000 значение данного члена следует установить равным 0.

 

iFSTextEffectColorBits

 

DWORD: RGB-значение цвета, который используется при отображении визуального сигнала, когда приложение, работающее в текстовом полноэкранном режиме, формирует звук. В Windows 2000 значение данного члена следует установить равным 0.

 

iFSGrafEffect

DWORD: Визуальный сигнал, отображаемый в тот момент, когда приложение, работающее в графическом полноэкранном режиме виртуальной машины, формирует звук. Чтобы указать отсутствие визуального сигнала, достаточно установить для данного члена значение SSTFJ4ONE, а для

 

Таблица 21.25 Значения члена dwFlags структуры SOUNDSENTRY

 

Значение

Что означает

 

SSF_AVAILABLE

Свойство SoundSentry доступно

 

SSF_SOUNFSENTRYON

Свойство SoundSentry включено

 

Таблица 21.26 Визуальные сигналы для структуры SOUNDSENTRY .

 

Значение

Что означает

 

SSTF_BORDER

Мигание обрамления экрана, которое недоступно в некоторых дисплеях

 

SSTF_CHARS

Мигание символов в углу экрана

 

SSTF_DISPLAY

Мигание всего дисплея

 

SSTF_NONE

Визуальный сигнал отсутствует

 

определения мигания всего экрана потребуется установить значение SSGF_DISPLAY. В Windows 2000 значение данного члена следует установить равным 0.

 

IFSGrafEffectMSec

 

DWORD: Продолжительность времени (в миллисекундах), в течение которого визуальный сигнал отображается, когда приложение, работающее в графическом полноэкранном режиме, формирует звук. В Windows 2000 значение данного члена следует установить равным 0.

 

iFS&afEffectColor DWORD: RGB-значение цвета, который используется при отображении визуального сигнала, когда приложение, работающее в графическом полноэкранном режиме, формирует звук. В Windows 2000 значение данного члена следует установить равным 0.

 

iWindomEffect     DWORD: Визуальный сигнал, отображаемый в тот момент, когда приложение Windows или MS-DOS, работающее в окне, формирует звук. Этот параметр может принимать одно из значений, перечисленных в табл. 21.27.

 

iWindomEffectMSec DWORD: Продолжительность времени (в миллисекундах), в течение которого визуальный сигнал отображается, когда приложение Windows или MS-DOS, работающее в окне, формирует звук. В Windows 2000 значение данного члена следует установить равным 0.

 

IpszWlndowsEffectDLL LPTSTR: Указатель на буфер, содержащий имя DLL-библиотеки, в которой содержится функция обратного вызова SoundSentryProc. Если для данного члена установлено значение NULL, DLL-библиотека не используется. При выборке информации данный член должен указывать на буфер, длина которого равна МАХ_РАТН. Определение функции обратного вызова приведено выше при описании функции SystemParametersInfo.

 

IWindowsEffectOrdinal DWORD: Зарезервирован для дальнейших применений на обоих платформах. Его значение должно быть установлено равным 0.

 

Таблица 21.30 Значения параметра dwTypeMask функции VerifyVersionlnfo

 

Значение

Соответствующий член

 

VER_BUIDNUMBER

dwBuildHumber

 

VER_MAJORVERSION

dwMajorVersion

 

VER_MINORVERSION

dwMnorVersion

 

VER_PLATFORM

dwPlattormld

 

VER_SERVICEPACKMAJOR

wServicePackMajor

 

VER_ SERVICEPACKMINOR

wServkePackMinor

 

VER_SUITENAME

wSuiteMask

 

VER_PRODUCT_TYPE

wProductType

 

AccountNameFormat EXTEDED_NAME_FORMAT: Значение из табл. 21.7, обозначающее формат исходного имени, определяемого параметром IpAccountName.

 

DesiredNameFon

not EXTEDED_NAME_FORMAT: Значение из табл. 21.7, обозначающее формат преобразованного имени, которое не может принимать значение NameUnknown.

 

IpTranslateName

LPTSTR: Указатель на буфер, в который поступает имя в преобразованном формате.

 

nSize

PULONG: Указатель  на переменную,  определяющую  размер  буфера IpTranslateName в символах, число которых обозначается с помощью значения типа TCHAR. Если буфер IpTranslateName окажется слишком мал для хранения преобразованного имени, тогда рассматриваемая функция не может быть выполнена и параметр nSize принимает значение требуемого размера буфера.

 

Возвращаемое значение

BOOL: Если выполнение рассматриваемой функции оказывается успешным, возвращается ненулевое значение. В противном случае возвращается в 0.

 

Включаемый файл

winhase. h

 

VerifyVersionlnfo                         • Windows 98   • Windows 2000

 

Описание

Функция VerifyVersionlnfo сравнивает набор требований, установленных для конкретной версии операционной системы, с соответствующими значениями, принятыми для текущей версии системы.

 

Синтаксис

BOOL VerifyVersionlnfo (LPOSVERSIONINFOEX IpVersionlnfo, DWORD dwTypeMask, DWORDLONG dw ConditionMask)

 

Параметры lp Versionlnfo

LPOSVERSIONINFOEX: Указатель на структуру OSVERSIONINFOEX,содержащую сравниваемые требования к конкретной версии операционной системы. Параметр dwTypeMask рассматриваемой функции определяет члены упомянутой структуры, содержащей сравниваемую информацию. Определение этой структуры приведено в описании функции GetVersion-Ех.

 

dwTypeMask

DWORD: Этот параметр определяет проверяемые  члены  структуры OSVERSIONINFOEX. Он может принимать одно из значений, перечисленных в табл. 21.30.

 

dw ConditionMask

DWORDLONG: 64-разрядное значение, которое обозначает тип сравнения, применяемого к каждому члену. Для получения этого значения необходимо вызвать макрокоманду VER_SET_CONDITION по одному разу для каждого сравниваемого члена.

 

Возвращаемое значение

BOOL: Если выполняемая в настоящий момент операционная система удовлетворяет указанным требованиям, возвращается ненулевое значение. В противном случае возвращается 0, а функция GetLastError возвращает значение ERROR_OLD_WIN_VERSION.

 

Включаемый файл

winbase.h

 

VerLanguageName                       * Windows 98   + Windows 2000

Описание

Функция VerLanguageName осуществляет выборку хранимого названия идентификатора данного языка.

Синтаксис

DWORD VerLanguageName (DWORD idLanguage, LPTSTR IpszLanguageName, DWORD dcwLanguageName)

Параметры

id Language

DWORD: Идентификатор выбираемого языка.

IpszLanguageName

LPTSTR Указатель на буфер, в который поступает имя языка.

dcwLanguageName

DWORD: Число байт в буфере.

Возвращаемое значение

DWORD: Число байт, копируемых в буфер при успешном выполнении рассматриваемой функции, за исключением нулевого символа. Если в буфере недостаточно байт для хранения имени языка, возвращается требуемое число байт, включая нулевой символ. Любые попытки получить имена языков, несуществующих в системе, приводят к возврату 0. Коды ошибки для данной функции отсутствуют.

Включаемый файл

winbase.h

См. также Пример

GetUserDefaultLangID, GetSystemDefaultLanglD.См. пример применения функции GetSystemDefaultLanglD.