Форум: "WinAPI";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];
ВнизКак определить версию windows(95,98,me,nt,2000,xp)? Найти похожие ветки
← →
Ogu (2002-02-20 21:58) [6]Можно определить только версию существующих на сегодняшний день виндов (вернеее версию определить не проблема, проблема в описании). Что в будущем нас ждет - неизвестно!
а пока лови:
________________________________________________________________
const
{ operating system constants }
cOsUnknown = -1;
cOsWin95 = 0;
cOsWin98 = 1;
cOsWin98SE = 2;
cOsWinME = 3;
cOsWinNT = 4;
cOsWin2000 = 5;
cOsWinXP = 6;
function GetOperatingSystem : integer;
var
osVerInfo : TOSVersionInfo;
majorVer, minorVer : Integer;
begin
result := cOsUnknown;
{ set operating system type flag }
osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo);
if GetVersionEx(osVerInfo) then
begin
majorVer := osVerInfo.dwMajorVersion;
minorVer := osVerInfo.dwMinorVersion;
case osVerInfo.dwPlatformId of
VER_PLATFORM_WIN32_NT : { Windows NT/2000 }
begin
if majorVer <= 4 then
result := cOsWinNT
else if (majorVer = 5) AND (minorVer= 0) then
result := cOsWin2000
else if (majorVer = 5) AND (minorVer = 1) then
result := cOsWinXP
else
result := cOsUnknown;
end;
VER_PLATFORM_WIN32_WINDOWS : { Windows 9x/ME }
begin
if (majorVer = 4) AND (minorVer = 0) then
result := cOsWin95
else if (majorVer = 4) AND (minorVer = 10) then
begin
if osVerInfo.szCSDVersion[1] = "A" then
result := cOsWin98SE
else
result := cOsWin98;
end
else if (majorVer = 4) AND (minorVer = 90) then
result := cOsWinME
else
result := cOsUnknown;
end;
else
result := cOsUnknown;
end;
end
else
result := cOsUnknown;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(IntToStr(GetOperatingSystem));
end;
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.007 c