Форум: "WinAPI";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];
ВнизОпределение операционной системы Найти похожие ветки
← →
QuickFinder (2006-05-10 13:48) [0]Как средствами Delphi определить операционную систему на машине?
Точнее, как определить, что она - Windows XP или выше.
Спасибо.
← →
Сергей М. © (2006-05-10 13:49) [1]см. GetVersion[Ex]
← →
Cashmare © (2006-05-10 14:23) [2]Может, будет достаточно и WIN32PLATFORM
← →
Cash © (2006-05-10 14:46) [3]Вроде по GetVersion[Ex] надо бы узнать основу, чем эта ось является,
и исходя из нее идти либо на
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion для Win9x,
либо на
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion для WinNT
осей.
Вроде так.
← →
begin...end © (2006-05-10 15:25) [4]> Cash © (10.05.06 14:46) [3]
> ...и исходя из нее идти либо на...
А зачем ещё куда-то идти? Структура OSVERSIONINFO[EX] содержит, по-моему, вполне исчерпывающую информацию.
← →
Игорь Шевченко © (2006-05-10 15:41) [5]
> Точнее, как определить, что она - Windows XP или выше.
uses
SysUtils;
Result := (Win32Platform = VER_PLATFORM_WIN32_NT) and
((Win32MajorVersion > 5) or
((Win32MajorVersion = 5) and (Win32MinorVersion > 0)) or
((Win32MajorVersion = 5) and
(Win32MinorVersion = 0) and (Win32BuildNumber > 2195)));
← →
mctarik © (2006-05-10 19:15) [6]Пользуйтесь на Здоровье!
/Функция определения Версии ОС---------------------------------------------//
function TIntefase.GetOSVer: string;
var
OSVersionInfo: TOSVersionInfo;
begin
VersionOS.Caption := "Unknown";
OSVersionInfo.dwOSVersionInfoSize := sizeof(TOSVersionInfo);
if GetVersionEx(OSVersionInfo) then
begin
Label.Caption := Format("%d.%d (Build %d: %s)", {Реализация вызова}
[OSVersionInfo.dwMajorVersion,
OSVersionInfo.dwMinorVersion, (OSVersionInfo.dwBuildNumber and $FFFF),
OSVersionInfo.szCSDVersion]);
case OSVersionInfo.DwMajorVersion of
3: VersionOS.Caption := "Windows NT3";
4: case OSVersionInfo.DwMinorVersion of
0: if OSVersionInfo.dwPlatformId = VER_PLATFORM_WIN32_NT then
VersionOS.Caption := "Windows NT4"
else
VersionOS.Caption := "Windows 95";
10: VersionOS.Caption := "Windows 98";
90: VersionOS.Caption := "Windows ME";
end;
5: case OSVersionInfo.DwMinorVersion of
0: VersionOS.Caption := "Windows W2K";
1: VersionOS.Caption := "Windows XP";
end;
end;
end;
end;
Страницы: 1 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.037 c