Code: |
Type TOSVersion=(osUnknown, osUnknown9x, osUnknownNT, osWin95, osWin98, osWin98SE, osWinME, osWinNT, osWin2000, osXP); {©Drkb v.3, ®Vit (Vitaly Nevzorov) - Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.}
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; |
Code: |
procedure TForm1.WinVer; var WinV: Word; begin WinV := GetVersion AND $0000FFFF; Edit6.Text := IntToStr(Lo(WinV))+'.'+IntToStr(Hi(WinV)); end; |
Функция выдает следующее - 4.10
Как можно таким же простым способом получить полную версию - 4.10.222
Автор ответа: inko
- Назад
- Вперёд >>
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!