Вниз
Скачать: CL | DM;

Как узнать версию ОС с точностью до SP   Найти похожие ветки 

 
Garacio ©   (2007-01-27 16:23) [0]

Как узнать версию операционной системы с точностью до SP?
Так, чтобы можно было:
procedure TForm1.Button1Click(Sender: TObject);
begin
  if GetOSVersion = osXP SP2
  then begin
    ...
  end;
end;


 
FAskerQ ©   (2007-01-27 18:06) [1]


> Garacio ©   (27.01.07 16:23)
> Как узнать версию операционной системы с точностью до SP?
>


function GetOSVersion: string;
var
 OSVersionInfo: TOSVersionInfo;
 s: string;
begin
 Result:= "";
 OSVersionInfo.dwOSVersionInfoSize:= SizeOf(TOSVersionInfo);
 if GetVersionEx(OSVersionInfo) then
 begin
   with OSVersionInfo do
   case dwPlatformId of
   VER_PLATFORM_WIN32_WINDOWS:
     if dwMinorVersion = 0 then
       s:= "Windows 95"
     else
       s:= "Windows 98";
   VER_PLATFORM_WIN32_NT:
     begin
       if OSVersionInfo.dwMajorVersion = 5 then
       begin
         if OSVersionInfo.dwMinorVersion = 0 then
           s:= "Windows 2000"
         else
           s:= "Windows XP";
       end;
       if OSVersionInfo.dwMinorVersion = 90 then
          s:= "Windows Me";
       if OSVersionInfo.dwMajorVersion = 4 then
         s:= "Windows NT 4.0";
       if OSVersionInfo.dwMajorVersion = 3 then
         s:= "Windows NT 3.51";
     end;
   VER_PLATFORM_WIN32s:
     s:= "Win 3.1 with Win32s"
   end;
   Result:= s + " " + OSVersionInfo.szCSDVersion;
 end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Caption:= GetOSVersion;
end;


Не знаю будет ли работать правильно во всех ОС...


 
oxffff ©   (2007-01-27 18:06) [2]

GetVersionEx

typedef struct _OSVERSIONINFOEX
{  DWORD dwOSVersionInfoSize;  DWORD dwMajorVersion;  DWORD dwMinorVersion;  DWORD dwBuildNumber;  DWORD dwPlatformId;  TCHAR szCSDVersion[128];  

WORD wServicePackMajor;  WORD wServicePackMinor;  

WORD wSuiteMask;  BYTE wProductType;  BYTE wReserved;
} OSVERSIONINFOEX,


 
Garacio ©   (2007-01-27 18:26) [3]

Т.е.:

type
wServicePackMajor: DWORD;
wServicePackMinor: DWORD;

procedure GetWindowsVersion(var Major: integer;
var Minor: integer);
begin
...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.031 c
15-1169614078
Elen
2007-01-24 07:47
2007.02.18
Вопросы о Жестких дисках


2-1170281370
Pasha L
2007-02-01 01:09
2007.02.18
прочитать ответ GETа (tidtcpclient)


15-1169523391
Slider007
2007-01-23 06:36
2007.02.18
С днем рождения ! 23 января


2-1170374503
Ref
2007-02-02 03:01
2007.02.18
Memo и Word


2-1170244848
sergeyst
2007-01-31 15:00
2007.02.18
Обработка исключений в IB




   Наверх