Вот пример(вообще их несколько), а вообщ скачай FAQ.
| Код | Type TOSVersion=(osUnknown, osUnknown9x, osUnknownNT, osWin95, osWin98, osWin98SE, osWinME, osWinNT, osWin2000, osXP);
function GetOSVersion : TOSVersion; var osVerInfo : TOSVersionInfo; majorVer, minorVer : Integer; begin result := OsUnknown; osVerInfo.dwOSVersionInfoSize := SizeOf(TOSVersionInfo); if GetVersionEx(osVerInfo) then begin majorVer := osVerInfo.dwMajorVersion; minorVer := osVerInfo.dwMinorVersion; case osVerInfo.dwPlatformId of VER_PLATFORM_WIN32_NT : Case majorVer of 4:result := OsWinNT; 5:if minorVer=0 then result := OsWin2000 else if minorVer=1 then result := OsXP else result := osUnknownNT; else result := osUnknownNT; end; {Case majorVer of} VER_PLATFORM_WIN32_WINDOWS : case majorVer of 4: Case minorVer of 0:result := OsWin95; 10: if osVerInfo.szCSDVersion[1] = 'A' then result := OsWin98SE else result := OsWin98; 90: result := OsWinME; else result := osUnknown9x; end;{Case minorVer of} else result := osUnknown9x; end{case majorVer of} else result := OsUnknown; end;{case osVerInfo.dwPlatformId of} end;{if GetVersionEx(osVerInfo) then} end;
procedure TForm1.Button1Click(Sender: TObject); begin case GetOSVersion of osUnknown: Showmessage('Unknown'); osWin95: Showmessage('Win95'); osWin98: Showmessage('Win98'); osWin98SE: Showmessage('Win98SE'); osWinME: Showmessage('WinME'); osWinNT: Showmessage('WinNT'); osWin2000: Showmessage('Win2000'); osXP: Showmessage('XP'); end; end; |
Автор Vit |