Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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
15-1364131639
TUser
2013-03-24 17:27
2013.08.25
Пенроуз в Политехническом музее


15-1364059471
DevilDevil
2013-03-23 21:24
2013.08.25
Happy life secret


15-1364050360
О-Сознание
2013-03-23 18:52
2013.08.25
Web Money и уведомление на почту.


3-1292023741
Паша
2010-12-11 02:29
2013.08.25
Oracle 9i, получаю разные результаты update, не пойму, где косяк


2-1355561757
йцукен12345
2012-12-15 12:55
2013.08.25
Поиск по подстроке в Combobox





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский