Форум: "WinAPI";
Текущий архив: 2013.08.25;
Скачать: [xml.tar.bz2];
ВнизОпределение типа ОС Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2013.08.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.005 c