Lposversioninfo lpversioninformation // Указатель на

); // структуру

Параметры

lpVersionInformation

Указатель на структуру данных OSVERSIONINFO, которую функция заполняет информацией о версии операционной системы.

Перед вызовом функции GetVersionEx необходимо в поле dwOSVersionInfoSize структуры OSVERSIONINFO занести значение sizeof(OSVERSIONINFO).

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

При успешном выполнении функции возвращается ненулевое значение.

При возникновении ошибки возвращается нуль. Для получения расширенной информации об ошибке необходимо вызвать функцию GetLastError. Ошибка возникает, если неверно указано поле dwOSVersionInfoSize структуры OSVERSIONINFO.

Структура данных OSVERSIONINFO содержит сведения о версии операционной системы. Информация включает в себя старшую и младшую части версии, номер сборки, идентификатор платформы и строку описания операционной системы.

typedef struct _OSVERSIONINFO{

DWORD dwOSVersionInfoSize;

DWORD dwMajorVersion;

DWORD dwMinorVersion;

DWORD dwBuildNumber;

DWORD dwPlatformId;

TCHAR szCSDVersion[ 128 ];

} OSVERSIONINFO;

Поля структуры

dwOSVersionInfoSize

Определяет размер структуры в байтах. Перед вызовом функции GetVersionEx следует заполнить это поле значением sizeof(OSVERSIONINFO).

dwMajorVersion

Идентифицирует старшую часть версии операционной системы. Например, для Windows NT версии 3.51, старшая часть версии – 3, а для Windows NT версии 4.0 – 4.

dwMinorVersion

Идентифицирует младшую версии операционной системы. Например, для Windows NT версии 3.51, младшая часть версии – 51, а для Windows NT версии 4.0 – 0.

dwBuildNumber

Windows NT: Идентифицирует номер сборки операционной системы.

Windows 95: В младшем слове идентифицирует номер сборки операционной системы. Старшее слово содержит старшую и младшую части версии.

dwPlatformId

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

VER_PLATFORM_WIN32s Win32s on Windows 3.1.

VER_PLATFORM_WIN32_WINDOWS Win32 on Windows 95.

VER_PLATFORM_WIN32_NT Win32 on Windows NT.

szCSDVersion

Windows NT: Содержит строку, завершающуюся нулем, такую, как "Service Pack 3", которая индицирует последний сервис-пак, установленный в систему. Если нет установленных сервис-паков, строка пустая.

Windows 95: Содержит строку, завершающуюся нулем, которая дает необязательную дополнительную информацию об операционной системе.

// Проверка версии операционной системы

OSVERSIONINFO ver;

DWORD c;

char* d;

ver.dwOSVersionInfoSize=sizeof(OSVERSIONINFO);

GetVersionEx(&ver);

if((ver.dwPlatformId!=

VER_PLATFORM_WIN32_WINDOWS)|| // Не Windows 95/98

ver.dwMajorVersion!=4)|| // Не Windows 98

(ver.dwMinorVersion<10)) // Ниже SR2

{ AnsiString f1,f2;

f1=” Для работы программы необходима операционная система не ниже Windows 98 SR2 ”;

f2=” Системные требования ”;

Application->MessageBox(f1.c_str(),f2.c_str(),MB_OK);

Application->Terminate();

}

3.2 Определение наличия в системе мыши

Для определения различных системных параметров и установок может быть использована функция API Win32 GetSystemMetrics.

Системные параметрами являются, например, размеры (ширина и высота) отображаемых окон. Все размеры функция GetSystemMetrics возвращает в пикселях.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: