UINT nsize                 // размер буфера каталога 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

UINT nsize                 // размер буфера каталога



    );                                    

 

  UINT GetWindowsDirectory (

LPTSTR IpBuffer,                        // Адрес буфера каталога Windows .
UINT nSize                            //
Размер буфера каталога.

);

DWORD GetTempPath(

DWORD nBufferLength,           // Размер буфера в символах

  LPTSTR IpBuffer         // Указатель на буфер пути к каталогу временных файлов.

);

Функция GetVersionEx возвращает информацию о версии операционной системы. Она объявляется как

 

BOOL GetVersionEx (

LPOSVERSIONINFO IpVersionlnformation. // Указатель на структуру

        //с информацией о версии.

 );

где IpVersionlnformation - указатель на структуру OSVERSIONINFO, которая определена следующим образом:

typedef struct _OSVERSIONINFO (

DWORD dwOSVersionlnfoSise;

DWORD dwMajorVersion;

DWORD dwMinorVersion;

DWORD dwBuildNumber;

DWORD dwPlatformId;

TCHAR szCSDVersion[ 128 ];

) OSVERSIONINFO;

В документации об этой структуре  говорится следующее:

DwOSVersionlnfoSize

Задает размер структуры OSVERSIONINFO в байтах. Для структур это является общим требованием. Так как DWORD - четырехбайтовое беззнаковое типа long и поскольку Delphi и VB преобразуют строку из 128 символов в массив символов ANSI из 128 байт, общий размер структуры составляет. 4x5+ 128 = 148 байт. Это значение возвращает функция Len для VB и SizeOf для Delphi.

DwMajorVersion

Указывает номер основной версии операционной системы. Например, для Windows NT версии 3.51 номер основной версии - 3. Для Windows NT 4.0 и Windows 9х номер основной версии - 4.

DwMinorVersion

Указывает дополнительный номер версии операционной системы. Например, для Windows NT версии 3.51 дополнительный номер версии - 51. Для Windows NT 4.0 и Windows 95 дополнительный номер версии - 0. Для Windows 98 дополнительный номер версии - 10.

DwBuildNumber

Указывает номер сборки операционной системы для Windows NT. Для Windows 9х два младших байта содержат номер сборки операционной системы, а два старших байта - номер основной версии и дополнительный номер версии.

dwPiatformId

Идентифицирует платформу операционной системы, может иметь одно из следующих значений:

 

VER_PLATFORM_WIN32s (= 0).                Win32s, работающая на Windows

VER_PLATFORM_WIN32_WINDOWS (= 1).    Win32, работающая на Windows 95 или

                                                                        Windows 98.

 VER_PLATFORM_WIN32_NT (= 2).            Win32, работающая на Windows NT

SzCSDVersion

В Windows NT содержит строку завершающеюся нулевым символом, например «Service Pack3», которая указывает самую последнюю версию установленного в системе служебного пакета программ (service pack). Строка будет пустой, если служебный пакет не установлен. В Windows 95 включает строку с завершающим нулевым символом, в которой может быть произвольная дополнительная информация об операционной системе.

Функция GetSystemMetrics получает информацию о метриках (системе единиц измерения) объектов операционной системы.

Int GetSystemMetrics(

int nlndex                               // Системная метрика или установки конфигурации.

);

Параметр nIndex принимает значение одной из 84 возможных констант. Функция возвращает запрошенные единицы измерения (в общем случае в пикселях или в безразмерных единицах).

Чтобы дать общее представление о типе возвращаемой информации, здесь приведены образцы некоторых констант для этой функции. Единицы измерения высоты и ширины приведены в пикселях:

SM _ CMOUSEBUTTOMS = 43        // Delphi    ' Количество клавиш мыши.

Const SM_CMOUSEBUTTOMS = 43  // VB                   

SM_MOUSEWHEELPRESENT = 75                           ' Истина (True), если мышь имеет

                                          ' колесо прокрутки.

                           ' (Только Win NT 4 или Win 98.)

SM _ SWAPBUTTON = 23                                         ' Истина (True), если клавиши мыши

' можно поменять местами (мышь                                              ' для левши).

SM _ CXBORDER = 5                                               ' Ширина и высота рамки окна.

SM _ CYBORDER = 6                                                         

SM _ CXSCREEN = 0                                                  ' Ширина и высота экрана.

SM _ CYSCREEN = 1

SM _ CXFULLSCREEN = 16                                          ' Ширина и высота области

                                ' приложения в полноэкранном    

SM _ CYFULLSCREEN = 17                                      'режиме.

SM _ CXHTHUMB = 10                                              'Ширина прямоугольного курсора

                                   'в горизонтальной полосе                                          'прокрутки.

SM _ CXICONS PACING = 38                                      'Размеры ячейки сетки для

SM _ CYICONS РАС ING = З9                                   'значка в режиме просмотра с     'крупными значками.

SM _ CYCAPTION = 4                                                 '       Высота стандартной области                  'заголовка.

 

Системные параметры

Функция SystemParamterslnfo - это мощная функция, предназначенная для получения или установки всех системных параметров. Также она может в процессе установки параметра обновлять пользовательские профили. Ниже приведена ее декларация:

BOOL SystemParametersInfo (

UINT uiAction,                               //  Запрашиваемый или устанавливаемый

//   системный  параметр.

UIN Т uiParam,                             // Зависит от принятого системного

// параметра.

PVOID pvParam,                            // Зависит от принятого системного параметра.

UINT fWinIni                     // Флаг обновления пользовательского профиля.
};

 

Эта функция может принимать, по меньшей мере, 90 различных значений uiAction. Ниже приведены некоторые константы uiAction:

SPI_GETACCESSTIMEOUT - используется для определения данных о временных интервалах, относящихся к специальным возможностям Windows;

SPI_GETANIMATION – используется для определения данных об анимации, используемой при сворачивании и восстановлении окон;

SPI_GETBEEP - признак разрешения звуковых сигналов;

SPI_GETBORDER – параметру присваивается коэффициент, управляющий толщиной рамки для изменения размеров окна;

SPI_GETDEFAULTINPUTLANG – параметру присваивается 32-х разрядный дескриптор раскладки клавиатуры по умолчанию;

SPI_GETDRAGFULLWINDOWS – характеристики перемещения окна мышью;

SPI_GETFASTTASKSWITCH – признак, определяющий быстрое переключение задач;

SPI_GETFILTERKEYS - используется для определения данных о специальных возможностях, относящихся к работе с клавиатурой;           

SPI_GETFONTSMOOTHING      - режимы сглаживания шрифтов;

SPI_GETGRIDGRANULARITY – гранулярность сетки рабочего стола;

SPI_GETICONMETRICS - используется для определения информации о характеристиках иконок.

Системные цвета

Функции GetSysColor и SetSysColors используются для получения и установки цветов различных элементов системы, таких как кнопки, строки заголовков и т.д. Цветовой палитрой также может управлять пользователь с помощью апплета Display (Экран) на панели Control Panel (Панель управления).

Декларация GetSysColor:

DWORD GetSysColor (

int nIndex                                   // Элемент экрана.

);

  nIndex может принимать значение одной из множества символьных констант, например

# define COLOR _ ACTIVECAPTION   3

Возвращаемое значение - это цвет в формате RGB. В частности, каждый цвет занимает один байт в возвращаемом значении типа unsigned long: красный цвет - младший байт, зеленый - следующий байт, далее - синий цвет. Самый старший байт равен нулю. Байты цветов представлены в переменной тина long в обратном порядке, поскольку при записи переменной в память байты располагаются от младших к старшим.

 

 

Объявление функции SetsysColors:

BOOL WINAPI SetSysColors (

int cElements,                                           // Количество изменяемых

             // элементов.

CONST INT *lpaElements,                      // Адрес массива элементов.
CONST COLORREF *lpaRgbValues            // Адрес массива значений RGB.

 

Здесь cElements определяет количество системных элементов, цвет которых требуется изменить; IpaElements - указатель на целочисленный массив VC++, который содержит индексы изменяемых элементов; IpaRgbvalues ссылается на целочисленный массив VC++ новых значений цвета в формате RGB.



Поделиться:


Последнее изменение этой страницы: 2021-07-18; просмотров: 49; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.23.63.252 (0.01 с.)