Получение информации о типе и версии операционной системы

Советы » Windows » Получение информации о типе и версии операционной системы

{ **** UBPFD *********** by delphibase.endimus.com ****
>> Получение информации о типе и версии операционной системы

Опеределение типа установленной операционной системы

Зависимости: Windows
Автор:       Игорь Шевченко, whitefranz@hotmail.com, Москва
Copyright:   Игорь Шевченко
Дата:        26 апреля 2002 г.
***************************************************** }

unit

HSWinFuncs; interface

uses

Windows; const

VER_NT_WORKSTATION = 0; VER_NT_DOMAIN_CONTROLLER = 1; VER_NT_SERVER = 2; VER_SUITE_SMALLBUSINESS = 1; VER_SUITE_ENTERPRISE = 2; VER_SUITE_BACKOFFICE = 4; VER_SUITE_COMMUNICATIONS = 8; VER_SUITE_TERMINAL = $10; VER_SUITE_SMALLBUSINESS_RESTRICTED = $20; VER_SUITE_EMBEDDEDNT = $40; VER_SUITE_DATACENTER = $80; VER_SUITE_SINGLEUSERTS = $100; VER_SUITE_PERSONAL = $200; VER_SUITE_BLADE = $400; type

TOsVersionInfoExA = packed

record

old: TOsVersionInfoA; wServicePackMajor: Word; wServicePackMinor: Word; { wSuiteMask Набор битовых флагов, определяющих компоненты Windows VER_SUITE_BACKOFFICE Установлен компонент Microsoft BackOffice. VER_SUITE_BLADE Установлен компонент Windows .NET Web Server. VER_SUITE_DATACENTER Установлена Windows 2000 или компонент Windows .NET Datacenter Server VER_SUITE_ENTERPRISE Установлена Windows 2000 Advanced Server или компонент Windows .NET Enterprise Server. VER_SUITE_PERSONAL Установлена Windows XP Home Edition. VER_SUITE_SMALLBUSINESS Установлен Microsoft Small Business Server. VER_SUITE_SMALLBUSINESS_RESTRICTED Установлен Microsoft Small Business Server с ограничительной лицензией для клиентов VER_SUITE_TERMINAL Установлен компонент Terminal Services. } wSuiteMask: Word; {wProductType Дополнительная информация о типе операционной системы VER_NT_WORKSTATION Операционная система Windows NT 4.0 Workstation, Windows 2000 Professional, Windows XP Home Edition, или Windows XP Professional. VER_NT_DOMAIN_CONTROLLER Операционная система является контроллером домена. VER_NT_SERVER Операционная система является сервером. } wProductType: Byte; wReserved: Byte; end

; function

WhatWindowsIsInstalled: string

; implementation

{ Определение типа установленной операционной системы } function

WhatWindowsIsInstalled: string

; var

VerInfo: TOsVersionInfoExA; begin

FillChar(VerInfo, sizeof(VerInfo), 0); VerInfo.old.dwOSVersionInfoSize := Sizeof(TOsVersionInfoExA); if

not

GetVersionExA(VerInfo.old) then

begin

VerInfo.old.dwOSVersionInfoSize := Sizeof(TOsVersionInfoA); GetVersionExA(VerInfo.old); end

; case

VerInfo.old.dwPlatformId of

VER_PLATFORM_WIN32_WINDOWS: if

(Verinfo.old.dwMajorVersion = 4) and

(Verinfo.old.dwBuildNumber = 950) then

Result := 'Windows 95' else

if

(Verinfo.old.dwMajorVersion = 4) and

(Verinfo.old.dwMinorVersion = 10) and

(Verinfo.old.dwBuildNumber = 1998) then

Result := 'Windows 98' else

if

(Verinfo.old.dwMinorVersion = 90) then

Result := 'Windows Me'; VER_PLATFORM_WIN32_NT: if

Verinfo.old.dwMajorVersion = 3 then

Result := 'Windows NT 3.51' else

if

Verinfo.old.dwMajorVersion = 4 then

Result := 'Windows NT 4.0' else

if

Verinfo.old.dwMajorVersion = 5 then

if

Verinfo.old.dwMinorVersion = 0 then

Result := 'Windows 2000' else

if

Verinfo.old.dwMinorVersion = 1 then

Result := 'Windows XP'; VER_PLATFORM_WIN32s: Result := 'Win32s'; end

; end

; end

.

Пример использования:

procedure

TfrmMain.FormCreate(Sender: TObject); begin

WindowsTypeEdit.Text := WhatWindowsIsInstalled(); end

;

Другое по теме:

Категории

Статьи

Советы

Copyright © 2022 - All Rights Reserved - www.delphirus.com