GetVersion()

Возвращает эта функция версию и релиз номера Windows. В старшем слове код версии операционной системы.

DWORD GetVersion(VOID);

Реализована эта функция в Kernel32, а описана в Winbase.h. Код версии может принимать следующие значения.

VER_PLATFORM_WIN32s Win32s для Windows 3.1
VER_PLATFORM_WIN32_WINDOWS Windows 95/98
VER_PLATFORM_WIN32_NT Windows NT/2000

В младшем слове находится версия релиза. Извлекать их надо с помощью функций LOBYTE, HIBYTE, HIWORD. Давайте посмотрим пример.

#include "stdafx.h"
#include "windows.h"
#include "iostream.h"

void main() {
DWORD dwVersion;
DWORD dwWindowsMajorVersion;
DWORD dwWindowsMinorVersion;
DWORD dwBuild;
dwVersion = GetVersion();
dwWindowsMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));
dwWindowsMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion)));
if (dwVersion < 0x80000000)
{
dwBuild = (DWORD)(HIWORD(dwVersion));
cout << "NT Build" << dwBuild << endl;
}
else
if (dwWindowsMajorVersion < 4){
dwBuild = (DWORD)(HIWORD(dwVersion) & ~0x8000);
cout << "WIN32s Build " << dwBuild << endl;
} else {
dwBuild=0;
cout << "Win95/Win98 Build " << dwBuild << endl;
}
}

На данный момент существует новая версия этой функции GetVersionEx().

 
« Предыдущая статья   Следующая статья »