Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.03;
Скачать: CL | DM;

Вниз

Определение операционной системы   Найти похожие ветки 

 
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 вся ветка

Текущий архив: 2006.09.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.064 c
15-1154682457
Ketmar
2006-08-04 13:07
2006.09.03
алгоритм Диффи-Хэллмана на чистом Delphi


1-1153480564
МикроДИП
2006-07-21 15:16
2006.09.03
Вопрос по расположению формы...


15-1155213860
StriderMan
2006-08-10 16:44
2006.09.03
Сколько значений может содержать один миллибит


4-1147446323
Dstr
2006-05-12 19:05
2006.09.03
Как создать форму в отдельном потоке?


15-1155204244
Чапаев
2006-08-10 14:04
2006.09.03
Правомерно ли распространение Acrobat Reader