Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.08.25;
Скачать: CL | DM;

Вниз

Определение типа ОС   Найти похожие ветки 

 
leonidus   (2010-02-18 20:53) [0]

Как определить тип ОС вместе с сервиспаком? Под типом я подразумеваю название (нужно выбирать между XP,Vista и Seven) и разрядность 32 или 64 ? Все что есть в инете определяет в лучшем случае до висты, а с разрядностью вообще темный лес... Подскажите пожалуйста!


 
DVM ©   (2010-02-18 21:10) [1]


////////////////////////////////////////////////////////////////////////////////
//
//  ****************************************************************************
//  * Unit Name : uWinVersion
//  * Purpose   : Класс для определения версии Windows
//  * Author    : Dmitry V. Muratov
//  * Version   : 2.1
//  * Home Page :
//  ****************************************************************************
//

unit uWinVersion;

interface

uses
 Windows, SysUtils, Classes;

type

 TOSPlatform = (
   ospWinNT,               // Windows NT platform
   ospWin9x,               // Windows 9x platform
   ospWin32s               // Win32s platform
 );

 TOSProduct = (
   osUnknownWinNT,         // Unknown Windows NT OS
   osWinNT,                // Windows NT (up to v4)
   osWin2K,                // Windows 2000
   osWinXP,                // Windows XP
   osUnknownWin9x,         // Unknown Windows 9x OS
   osWin95,                // Windows 95
   osWin98,                // Windows 98
   osWinMe,                // Windows Me
   osUnknownWin32s,        // Unknown OS running Win32s
   osWinSvr2003,           // Windows Server 2003
   osUnknown,              // Completely unknown Windows
   osWinVista,             // Windows Vista
   osWinSvr2003R2,         // Windows Server 2003 R2
   osWinSvr2008,           // Windows Server 2008
   osWinLater,             // A later version of Windows than v6.1
   osWin7,                 // Windows 7
   osWinSvr2008R2          // Windows Server 2008 R2
 );

 TProcessorArchitecture = (
   paUnknown,    // Unknown architecture
   paX64,        // X64 (AMD or Intel)
   paIA64,       // Intel Itanium processor family (IPF)
   paX86         // Intel 32 bit
 );

 ESysInfo = class(Exception);

 TOSInfo = class(TObject)
 private
   class function EditionFromProductInfo: string;
   class function CheckSuite(const Suite: Integer): Boolean;
   class function EditionFromReg: string;
   class function IsNT4SP6a: Boolean;
   class function ProductTypeFromReg: string;
 public
   class function IsWin9x: Boolean;
   class function IsWinNT: Boolean;
   class function IsWin32s: Boolean;
   class function IsWow64: Boolean;
   class function IsServer: Boolean;
   class function IsMediaCenter: Boolean;
   class function IsTabletPC: Boolean;
   class function IsRemoteSession: Boolean;
   class function IsWinVista: Boolean;
   class function IsWinServer2008: Boolean;
   class function IsWinServer2008R2: Boolean;
   class function IsWin7: Boolean;
   class function HasPenExtensions: Boolean;
   class function Platform: TOSPlatform;
   class function Product: TOSProduct;
   class function ProductName: string;
   class function MajorVersion: Integer;
   class function MinorVersion: Integer;
   class function BuildNumber: Integer;
   class function ServicePackString: string;
   class function ServicePackMajor: Integer;
   class function ServicePackMinor: Integer;
   class function EditionString: string;
   class function Description: string;
   class function ProductID: string;
   class function GetTrueWindowsVersion: TOSProduct;
 end;

var
 Win32HaveExInfo: Boolean = False;
 Win32ServicePackMajor: Integer = 0;
 Win32ServicePackMinor: Integer = 0;
 Win32SuiteMask: Integer = 0;
 Win32ProductType: Integer = 0;
 Win32HaveProductInfo: Boolean = False;
 Win32ProductInfo: LongWord = 0;


 
leonidus   (2010-02-18 21:13) [2]

DVM спасибо, но это только описание класса, а как на счет непосредственно функций реализующих определение типов ОС?


 
DVM ©   (2010-02-18 21:15) [3]

http://dvmuratov.narod.ru/uWinVersion.pas

тут короче


 
leonidus   (2010-02-19 18:26) [4]

Большое спасибо!

DVM, подскажите плиз, как работать с классом? Нам в общем много лишнего, мне же нужно определить только тип ОС и SP, разрядность я определил уже другим способом.


 
leonidus   (2010-02-19 18:28) [5]

Прошу прощения, ступил. Все встало на свои места, большое спасибо еще раз!



Страницы: 1 вся ветка

Текущий архив: 2013.08.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.008 c
2-1355296974
Вася
2012-12-12 11:22
2013.08.25
ШИМ из LPT порта


4-1266515606
leonidus
2010-02-18 20:53
2013.08.25
Определение типа ОС


15-1363663611
Йети
2013-03-19 07:26
2013.08.25
где скачать BDE?


2-1355580331
SolleN
2012-12-15 18:05
2013.08.25
Импорт данных из excel в delphi


4-1266740974
leonidus
2010-02-21 11:29
2013.08.25
Определение разрядности программы