home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 June / Chip_2002-06_cd1.bin / zkuste / delphi / kompon / d56 / MSYSINFO.ZIP / Int / MSI_OS.int < prev    next >
Encoding:
Text File  |  2002-03-04  |  10.0 KB  |  194 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       MiTeC System Information Component              }
  5. {               OS Detection Part                       }
  6. {           version 7.3 for Delphi 5,6                  }
  7. {                                                       }
  8. {       Copyright ⌐ 1997,2002 Michal Mutl               }
  9. {                                                       }
  10. {*******************************************************}
  11.  
  12. {$INCLUDE MITEC_DEF.INC}
  13.  
  14. unit MSI_OS;
  15.  
  16. interface
  17.  
  18. uses
  19.   SysUtils, Windows, Classes, MiTeC_Routines, MSI_Common;
  20.  
  21. type
  22.   TTimeZone = class(TPersistent)
  23.   public
  24.     procedure GetInfo;
  25.     procedure Report(var sl :TStringList);
  26.     property MapID: string read FMap;
  27.   published
  28.     property DisplayName: string read FDisp {$IFNDEF D6PLUS} write FDisp {$ENDIF} stored False;
  29.     property StandardName: string read FStd {$IFNDEF D6PLUS} write FStd {$ENDIF} stored False;
  30.     property DaylightName: string read FDay {$IFNDEF D6PLUS} write FDay {$ENDIF} stored False;
  31.     property DaylightStart: TDatetime read FDayStart {$IFNDEF D6PLUS} write FDayStart {$ENDIF} stored False;
  32.     property StandardStart: TDatetime read FStdStart {$IFNDEF D6PLUS} write FStdStart {$ENDIF} stored False;
  33.     property Bias: integer read FBias {$IFNDEF D6PLUS} write FBias {$ENDIF} stored False;
  34.     property DaylightBias: integer read FDayBias {$IFNDEF D6PLUS} write FDayBias {$ENDIF} stored False;
  35.     property StandardBias: integer read FStdBias {$IFNDEF D6PLUS} write FStdBias {$ENDIF} stored False;
  36.   end;
  37.  
  38. const
  39.   VER_NT_WORKSTATION       = $0000001;
  40.   VER_NT_DOMAIN_CONTROLLER = $0000002;
  41.   VER_NT_SERVER            = $0000003;
  42.  
  43.   VER_SUITE_SMALLBUSINESS            = $0000002;
  44.   VER_SUITE_ENTERPRISE               = $0000004;
  45.   VER_SUITE_BACKOFFICE               = $0000008;
  46.   VER_SUITE_COMMUNICATIONS           = $0000010;
  47.   VER_SUITE_TERMINAL                 = $0000020;
  48.   VER_SUITE_SMALLBUSINESS_RESTRICTED = $0000040;
  49.   VER_SUITE_EMBEDDEDNT               = $0000080;
  50.   VER_SUITE_DATACENTER               = $0000100;
  51.  
  52.  
  53. type
  54.   POSVersionInfoEx = ^TOSVersionInfoEx;
  55.   TOSVersionInfoEx = record
  56.     dwOSVersionInfoSize: DWORD;
  57.     dwMajorVersion: DWORD;
  58.     dwMinorVersion: DWORD;
  59.     dwBuildNumber: DWORD;
  60.     dwPlatformId: DWORD;
  61.     szCSDVersion: array [0..127] of Char;
  62.     wServicePackMajor: Word;
  63.     wServicePackMinor: Word;
  64.     wSuiteMask: Word;
  65.     wProductType: Byte;
  66.     wReserved: Byte;
  67.   end;
  68.  
  69.   TNtProductType = (ptUnknown, ptWorkStation, ptServer, ptAdvancedServer);
  70.  
  71.   TNTSuite = (suSmallBusiness, suEnterprise, suBackOffice, suCommunications,
  72.               suTerminal, suSmallBusinessRestricted, suEmbeddedNT, suDataCenter);
  73.   TNTSuites = set of TNTSuite;
  74.  
  75.   TNTSpecific = class(TPersistent)
  76.   public
  77.     procedure GetInfo;
  78.     procedure Report(var sl: TStringList);
  79.     procedure Report_InstalledSuites(var sl: TStringList);
  80.     function GetProductTypeStr(PT: TNTProductType): string;
  81.   published
  82.     property ProductType: TNTProductType read FProduct {$IFNDEF D6PLUS} write FProduct {$ENDIF} stored False;
  83.     property InstalledSuites: TNTSuites read FSuites {$IFNDEF D6PLUS} write FSuites {$ENDIF} stored False;
  84.     property ServicePackMajorVersion: Word read FSPMajorVer {$IFNDEF D6PLUS} write FSPMajorVer {$ENDIF} stored False;
  85.     property ServicePackMinorVersion: Word read FSPMinorVer {$IFNDEF D6PLUS} write FSPMinorVer {$ENDIF} stored False;
  86.   end;
  87.  
  88.   TInternet = class(TPersistent)
  89.   public
  90.     function GetConnTypeStr(ACType: TConnectionType): string;
  91.     procedure GetInfo;
  92.     procedure Report(var sl :TStringList);
  93.   published
  94.     property DefaultBrowser: string read FBrowser {$IFNDEF D6PLUS} write FBrowser {$ENDIF} stored False;
  95.     property DefaultMailClient: string read FMailClient {$IFNDEF D6PLUS} write FMailClient {$ENDIF} stored False;
  96.     property ConnectionType: TConnectionType read FCType {$IFNDEF D6PLUS} write FCType {$ENDIF} stored False;
  97.     property ProxyServer: string read FProxy {$IFNDEF D6PLUS} write FProxy {$ENDIF} stored False;
  98.   end;
  99.  
  100.   TMeasureSystem = (Metric, US);
  101.  
  102.   TPositiveCurrencyMode = (Prefix_No_Separation, Suffix_No_Separation,
  103.                            Prefix_One_Char_Separation, Suffix_One_Char_Separation);
  104.  
  105.   TDateOrder = (MDY, DMY, YMD);
  106.  
  107.   TTimeFormat = (H12, H24);
  108.  
  109.   TYearFormat = (TwoDigit, FourDigit);
  110.  
  111. const
  112.   SNegativeCurrencyMode: array[0..9] of string =
  113.                          ('($1.1)',
  114.                           '-$1.1',
  115.                           '$-1.1',
  116.                           '$1.1-',
  117.                           '(1.1$)',
  118.                           '-1.1$',
  119.                           '1.1-$',
  120.                           '1.1$-',
  121.                           '-1.1 $',
  122.                           '-$ 1.1');
  123.  
  124. type
  125.   TLocaleInfo = Class(TPersistent)
  126.   public
  127.    procedure GetInfo(LocaleID: DWORD);
  128.    procedure Report(var sl: TStringList);
  129.   published
  130.    property FullLocalizeLanguage: string read Flang {$IFNDEF D6PLUS} write Flang {$ENDIF} stored false;
  131.    property FullLanguageEnglishName: string read FEngLang {$IFNDEF D6PLUS} write FEngLang {$ENDIF} stored false;
  132.    property AbbreviateLanguageName: string read FAbbrLang {$IFNDEF D6PLUS} write FAbbrLang {$ENDIF} stored false;
  133.    property CountryCode: string read FCountry {$IFNDEF D6PLUS} write FCountry {$ENDIF} stored false;
  134.    property FullCountryCode: string read FFCountry {$IFNDEF D6PLUS} write FFCountry {$ENDIF} stored false;
  135.    property AbbreviateCountryCode: string read FAbbrCtry {$IFNDEF D6PLUS} write FAbbrCtry {$ENDIF} stored false;
  136.    property ListSeparator: string read FList {$IFNDEF D6PLUS} write FList {$ENDIF} stored false;
  137.    property MeasurementSystem: TMeasureSystem read FMeasure {$IFNDEF D6PLUS} write FMeasure {$ENDIF} stored false;
  138.    property DecimalSeparator: string read FDecimal {$IFNDEF D6PLUS} write FDecimal {$ENDIF} stored false;
  139.    property NumberOfDecimalDigits: string read FDigit {$IFNDEF D6PLUS} write FDigit {$ENDIF} stored false;
  140.    property LocalMonetarySymbol: string read FCurrency {$IFNDEF D6PLUS} write FCurrency {$ENDIF} stored false;
  141.    property InternationalMonetarySymbol: string read FIntlSymbol {$IFNDEF D6PLUS} write FIntlSymbol {$ENDIF} stored false;
  142.    Property CurrencyDecimalSeparator: string read FMonDecSep {$IFNDEF D6PLUS} write FMonDecSep {$ENDIF} stored false;
  143.    property CurrencyThousandSeparator: string read FMonThoSep {$IFNDEF D6PLUS} write FMonThoSep {$ENDIF} stored false;
  144.    property CurrencyDecimalDigits: string read FCurrDigit {$IFNDEF D6PLUS} write FCurrDigit {$ENDIF} stored false;
  145.    property PositiveCurrencyMode: TPositiveCurrencyMode read FPCurrMode {$IFNDEF D6PLUS} write FPCurrMode {$ENDIF} stored false;
  146.    property NegativeCurrencyMode: string read FNCurrMode {$IFNDEF D6PLUS} write FNCurrMode {$ENDIF} stored false;
  147.    property DateSeparator: string read FDate {$IFNDEF D6PLUS} write FDate {$ENDIF} stored false;
  148.    property TimeSeparator: string read FTime {$IFNDEF D6PLUS} write FTime {$ENDIF} stored false;
  149.    property TimeFormat: string read FTimeFormat {$IFNDEF D6PLUS} write FTimeFormat {$ENDIF} stored false;
  150.    property ShortDateFormat: string read FShortDate {$IFNDEF D6PLUS} write FShortDate {$ENDIF} stored false;
  151.    property ShortDateOrder: TDateOrder read FShortDateOrdr {$IFNDEF D6PLUS} write FShortDateOrdr {$ENDIF} stored false;
  152.    property LongDateOrder: TDateOrder read FLongDateOrdr {$IFNDEF D6PLUS} write FLongDateOrdr {$ENDIF} stored false;
  153.    property TimeFormatSpecifier: TTimeFormat read FTimeFormatSpec {$IFNDEF D6PLUS} write FTimeFormatSpec {$ENDIF} stored false;
  154.    property YearFormat: TYearFormat read FYearFormat {$IFNDEF D6PLUS} write FYearFormat {$ENDIF} stored false;
  155.   end;
  156.  
  157.   TOSPlatform = (opWin31, opWin9x, opWinNT);
  158.  
  159.   TOperatingSystem = class(TPersistent)
  160.   protected
  161.   public
  162.     constructor Create;
  163.     destructor Destroy; override;
  164.     procedure GetInfo;
  165.     procedure Report(var sl :TStringList);
  166.     property CSDEx :string read FCSDEx;
  167.   published
  168.     property ExceptionMode: TExceptionMode read FMode write FMode;
  169.     property MajorVersion :integer read FMajorVersion {$IFNDEF D6PLUS} write FMajorVersion {$ENDIF} stored false;
  170.     property MinorVersion :integer read FMinorVersion {$IFNDEF D6PLUS} write FMinorVersion {$ENDIF} stored false;
  171.     property BuildNumber :integer read FBuildNumber {$IFNDEF D6PLUS} write FBuildNumber {$ENDIF} stored false;
  172.     property Platform :TOSPlatform read FPlatform {$IFNDEF D6PLUS} write FPlatform {$ENDIF} stored false;
  173.     property Version :string read FVersion {$IFNDEF D6PLUS} write FVersion {$ENDIF} stored false;
  174.     property CSD :string read FCSD {$IFNDEF D6PLUS} write FCSD {$ENDIF} stored false;
  175.     property ProductID :string read FProductID {$IFNDEF D6PLUS} write FProductID {$ENDIF} stored false;
  176.     property ProductKey :string read FProductKey {$IFNDEF D6PLUS} write FProductKey {$ENDIF} stored False;
  177.     property RegisteredUser :string read FRegUser {$IFNDEF D6PLUS} write FRegUser {$ENDIF} stored false;
  178.     property RegisteredOrg :string read FRegOrg {$IFNDEF D6PLUS} write FRegOrg {$ENDIF} stored false;
  179.     property TimeZone :TTimeZone read FTZ {$IFNDEF D6PLUS} write FTZ {$ENDIF} stored false;
  180.     property Environment :TStrings read FEnv {$IFNDEF D6PLUS} write FEnv {$ENDIF} stored false;
  181.     property Folders: TStrings read FDirs {$IFNDEF D6PLUS} write FDirs {$ENDIF} stored False;
  182.     property NTSpecific: TNTSpecific read FNTSpec {$IFNDEF D6PLUS} write FNTSpec {$ENDIF} stored False;
  183.     property DVDRegion: string read FDVD {$IFNDEF D6PLUS} write FDVD {$ENDIF} stored False;
  184.     property Internet: TInternet read FInternet {$IFNDEF D6PLUS} write FInternet {$ENDIF} stored False;
  185.     property LocaleInfo: TLocaleInfo read FLocale {$IFNDEF D6PLUS} write FLocale {$ENDIF} stored False;
  186.     property LanguageID: string read FSysLangDefID {$IFNDEF D6PLUS} write FSysLangDefID {$ENDIF} stored False;
  187.   end;
  188.  
  189. function GetVersionEx(lpVersionInformation: POSVersionInfoEx): BOOL; stdcall;
  190.  
  191. implementation
  192.  
  193.  
  194.