Delphi - объектно-ориентированный язык программирования, разработанный компанией Borland в 1995 году. Он основан на языке программирования Pascal, но имеет более расширенные возможности и добавлены новые функции.
Delphi является интегрированной средой разработки (IDE), которая позволяет разрабатывать программное обеспечение для различных платформ, включая Windows, macOS, Android и iOS. Delphi достигает многоплатформенности с помощью...
{ **** UBPFD *********** by delphibase.endimus.com **** >> Получение информации о типе и версии операционной системы Опеределение типа установленной операционной системы Зависимости: Windows Автор: Игорь Шевченко, whitefranz@hotmail.com, Москва Copyright: Игорь Шевченко Дата: 26 апреля 2002 г. ***************************************************** } unitHSWinFuncs; 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
.
Пример использования:
procedureTfrmMain.FormCreate(Sender: TObject); begin
WindowsTypeEdit.Text := WhatWindowsIsInstalled(); end
;