JCLのJclSysInfoでWindowsのバージョンやエディションを取得する

JCLのJclSysInfoユニットの関数でWindowsのバージョン(Windows 8.1・Windows 8・Windows 7など)、エディション(Windows 8.1・Windows 8.1 Pro・Windows 8.1 Enterprise・Windows 8.1 RTなど)、プロダクトタイプ(Personal・Professional・DatacenterServer・Enterprisなど)を取得できます。

Windowsのバージョンやエディションを文字列で取得する

uses
  JclSysInfo;

//バージョンを取得する
function GetWindowsVersionString: string;
//エディションを取得する
function GetWindowsEditionString: string;
//プロダクトを取得する
function GetWindowsProductString: string;
//プロダクトタイプを取得する
function NtProductTypeString: string;

サンプルコード

Writeln(GetWindowsVersionString);
Writeln(GetWindowsEditionString);
Writeln(GetWindowsProductString);
Writeln(NtProductTypeString);

Windows 8.1 proの実行結果

Windows 8.1
Pro
Windows 8.1 Pro
Professional

Windowsのバージョンやエディションを定数列で取得する

uses
  JclSysInfo;

//バージョンを取得する
function GetWindowsVersion: TWindowsVersion;
//エディションを取得する
function GetWindowsEdition: TWindowsEdition;
//プロダクトタイプを取得する
function NtProductType: TNtProductType;

各定数は次のように定義されています。

type
  TWindowsVersion =
   (wvUnknown, wvWin95, wvWin95OSR2, wvWin98, wvWin98SE, wvWinME,
    wvWinNT31, wvWinNT35, wvWinNT351, wvWinNT4, wvWin2000, wvWinXP,
    wvWin2003, wvWinXP64, wvWin2003R2, wvWinVista, wvWinServer2008,
    wvWin7, wvWinServer2008R2, wvWin8, wvWin8RT, wvWinServer2012, wvWin81, wvWin81RT, wvWinServer2012R2);
  TWindowsEdition =
   (weUnknown, weWinXPHome, weWinXPPro, weWinXPHomeN, weWinXPProN, weWinXPHomeK,
    weWinXPProK, weWinXPHomeKN, weWinXPProKN, weWinXPStarter, weWinXPMediaCenter,
    weWinXPTablet, weWinVistaStarter, weWinVistaHomeBasic, weWinVistaHomeBasicN,
    weWinVistaHomePremium, weWinVistaBusiness, weWinVistaBusinessN,
    weWinVistaEnterprise, weWinVistaUltimate, weWin7Starter, weWin7HomeBasic,
    weWin7HomePremium, weWin7Professional, weWin7Enterprise, weWin7Ultimate,
    weWin8, weWin8Pro, weWin8Enterprise, weWin8RT, weWin81, weWin81Pro, weWin81Enterprise, weWin81RT);
  TNtProductType =
   (ptUnknown, ptWorkStation, ptServer, ptAdvancedServer,
    ptPersonal, ptProfessional, ptDatacenterServer, ptEnterprise, ptWebEdition);

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください