| Форум| Гостевая| Ссылки| Программы| Исходные тексты| Наши партнеры.|
   
| Главная| Рассылки| Услуги| Библиотека| Новости| Авторам| Программистам| Студентам|
delphi c++ assembler
 

Шаг 36 - GetVersion().

	 С Новым годом и веком !!!!!
 	 31 декабля 2000 года 19.45 (+10 по Гринвичу + 7 по Москве).
Возвращает эта функция версию и релиз номера 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().
Предыдущий Шаг | Следующий Шаг | Оглавление

By Artem.
Используются технологии uCoz
 

Rambler's Top100 Rambler's Top100

©  Adept Design Studio

Используются технологии uCoz