Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Вниз

Как определить версию windows(95,98,me,nt,2000,xp)? 


Tundra   (2002-02-17 15:37) [0]

Извиняюсь за глупый вопрос но в факе я этого не нашла...



Poirot   (2002-02-17 16:45) [1]

Мона номер версии - причём легко...
Но как именно что Мастдай 98... мне тоже интересно



Raptor   (2002-02-17 20:12) [2]

GetVersionEx



Poirot   (2002-02-18 02:38) [3]

Так а как название!!! Можно примерчик... Это я знаю но там номер и версия апдейта... в тексте...



ZEE   (2002-02-18 03:58) [4]

В реестре примерно так:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion
а там Version, VersionNumber, ProductName и т.п.
только в НТ может отличатся ... WindowsNT\CurrentVersion - кажется так



Dimka Maslov   (2002-02-18 13:01) [5]

http://dims.gpsm.ru/files/index_en.php?page=system.htm&ref=GetOperatingSystem.

Закачиваешь модуль, ссылка на который внизу страницы, в нём есть функция GetOperatingSystem, определяющая операционную систему



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;




Форум: "WinAPI";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.023 c
6-81030           Realizator            2002-02-13 09:49  2002.04.25  
Интересно, хоть кто-нибудь смог бы написать РАБОЧИЙ Telnet? Под сервер UNIX никак не пашет!


1-80952           Rammst                2002-04-12 06:42  2002.04.25  
Кодировки


3-80745           saperxl               2002-04-04 01:19  2002.04.25  
Простенький вопрос мастерам


3-80742           diMAN                 2002-03-29 18:45  2002.04.25  
Прогресс-бар при выполнении длительных SQL-запросов


14-81042          vopros                2002-03-19 16:43  2002.04.25  
Предлагаю злых нечеловеков исключать отсюда