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);