Форум: "WinAPI";
Текущий архив: 2002.08.05;
Скачать: [xml.tar.bz2];
ВнизКак узнать тип ОС? Найти похожие ветки
← →
kserg@ukr.net (2002-05-29 10:40) [0]Привет всем.
Уважаемые знатоки, подскажите простой способ определить тип винды (9x/NT/2000)
Буду признателен за пример.
Спасибо
← →
Dimka Maslov (2002-05-29 10:51) [1]http://endimus.ru/oldcontent/files/index_en.php?page=dim/system.htm&ref=GetOperatingSystem
← →
Freezer (2002-05-29 11:34) [2]Например я писал так...
К сожалению я не знаю версий виндов
osWin31, osWin95, osWin95OSR2, Win98, но если знать, то процедурку можно легко дописать...
type
TOperSys = (osUnknown, osWin31, osWin95, osWin95OSR2, Win98,
osWin98SE, osWinME, osWinNT, osWin2000, osWinXP);
TPlatform = (plUnknown, plWin32S, plWin32, plWin32NT);
var
OperSys: TOperSys;
Platform: TPlatform;
WinVerInfo: _OSVERSIONINFO;
begin
WinVerInfo.dwOSVersionInfoSize := SizeOf(_OSVERSIONINFO);
if GetVersionEx(WinVerInfo) then begin
case WinVerInfo.dwPlatformId of
VER_PLATFORM_WIN32s: Platform := plWin32S;
VER_PLATFORM_WIN32_WINDOWS: Platform := plWin32;
VER_PLATFORM_WIN32_NT: Platform := plWin32NT;
else Platform := plUnknown;
end;
case WinVerInfo.dwMajorVersion of
4: begin
case WinVerInfo.dwMinorVersion of
10: OperSys := osWin98SE;
90: OperSys := osWinME;
else OperSys := osUnknown;
end
end;
5: begin
case WinVerInfo.dwMinorVersion of
0: OperSys := osWin2000;
1: OperSys := osWinXP;
else OperSys := osUnknown;
end;
end;
else OperSys := osUnknown;
end;
end;
end;
← →
easy (2002-05-29 13:02) [3]http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1019926718&n=2
← →
Игорь Шевченко (2002-05-29 13:59) [4]Ну и я скину :-)
Без GetVersionEx :-))
uses
Sysutils;
type
THSSystemType = (
hssUnknown,
hssWin95,
hssWin98,
hssWinMe,
hssWinNT35,
hssWinNT4,
hssWin2000,
hssWinXP
);
function HSGetSystemType : THSSystemType;
begin
Result := hssUnknown;
case Win32Platform of
VER_PLATFORM_WIN32_WINDOWS:
begin
if (Win32MajorVersion <> 4) then
Exit;
case Win32MinorVersion of
0:
Result := hssWin95;
10:
Result := hssWin98;
90:
Result := hssWinME;
end;
end;
VER_PLATFORM_WIN32_NT:
case Win32MajorVersion of
3:
Result := hssWinNT35;
4:
Result := hssWinNT4;
5:
if Win32MinorVersion = 0 then
Result := hssWin2000
else if Win32MinorVersion = 1 then
Result := hssWinXP;
end;
end;
end;
С уважением,
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2002.08.05;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.004 c