Jak sprawdzić wersję Windows za pomocą funkcji GetVersionEx
Rookie One
Wrzuć na foremkę przycisk i edit. Wpisz poniższy kod do zdarzenia OnClick przycisku:
procedure TForm1.Button1Click(Sender: TObject);
var
osInfo : _OSVERSIONINFOA;
checkOK : LongBool;
begin
osInfo.dwOSVersionInfoSize := sizeof(OSVERSIONINFO);
checkOK := GetVersionEx(osInfo);
if (checkOK) then begin
case osInfo.dwMajorVersion of
3 : Edit1.Text := 'Windows NT 3.51 ' + osInfo.szCSDVersion + ' (build ' + intToStr(osInfo.dwBuildNumber) + ')';
4 : begin
case osInfo.dwMinorVersion of
0 : if (osInfo.dwPlatformId = VER_PLATFORM_WIN32_NT)
then Edit1.Text := 'Windows NT 4.0'
else Edit1.Text := 'Windows 95 ';
10 : Edit1.Text := 'Windows 98 ';
90 : Edit1.Text := 'Windows Me ';
end;
Edit1.Text := Edit1.Text + osInfo.szCSDVersion
+ ' (4.' + intToStr(osInfo.dwMinorVersion)
+ ' build ' + intToStr(osInfo.dwBuildNumber)
+ ')';
end;
5 : begin
case osInfo.dwMinorVersion of
0 : Edit1.Text := 'Windows 2000 ';
1 : Edit1.Text := 'Windows XP ';
2 : Edit1.Text := 'Windows Server 2003 ';
end;
Edit1.Text := Edit1.Text + osInfo.szCSDVersion
+ ' (5.' + intToStr(osInfo.dwMinorVersion)
+ ' build ' + intToStr(osInfo.dwBuildNumber)
+ ')';
end;
end;
end else showMessage('Błąd przy pobieraniu wersji systemu!');
end;
Wersja systemu pojawi się w edicie.
<DOPISANE>Po niewczasie zauwazylem blad, ktory powodowal, ze Windows NT 4 byl widziany jako 95, ale niezwlocznie go poprawilem. :)</DOPISANE>
Mój program napisany w języku C (źródła Dev-C++, Open Watcom IDE) do sprawdzania wersji systemu
Windows (od 3.1 do 8). Znajduje się na stronie (w budowie): http://romanworkshop.zz.mu/
w dziale WinAPI/Windows Version Checker.
A tu znajdziesz najświeższą wersje kodu do rozpoznawania wersji os'a Wersja systemu Windows
Aby znaleźć wersję systemu Win Vista, XP (Home / Pro), Win 2000 (może nawet starszych), trzeba wejść do folderu %WINDIR%\system32\eula.txt. W pierwszym wierszu jest wersja systemu, np. dla XP Home:
Microsoft(R) Windows(R) XP Home Edition
jakby komuś by było potrzebne to ja to przetłumaczyłem na c++ :)
Fane...
btw: wlasnie odkrylem za na 4p sa 4 osoby z Ruda Śląskiej, jak przychodzilem to nie bylo zadnego... (no tylko ja)
A jak sprawdzić, czy WinXp jest Home/Pro, Win2k Server/Pro?
Dodam tylko że pod adresem http://4programmers.net/download.php?id=1065 znajduje się komponencik mojego autorstwa :) pobierający informacje o OSku za pomocą tej właśnie funkcji :).
lajcik ;)
Znalazlem maly blad, ale szybko go poprawilem. :)