Udostępnij za pośrednictwem


Wersja systemu operacyjnego

Funkcje pomocnicze interfejsu API wersji są używane do określania wersji systemu operacyjnego, który jest obecnie uruchomiony. Aby uzyskać więcej informacji, zobacz Pobieranie wersji systemu.

Poniższa tabela zawiera podsumowanie najnowszych numerów wersji systemu operacyjnego.

System operacyjny Numer wersji
Windows 11 10.0*
Windows 10 10.0*
Windows Server 2022 10.0*
Windows Server 2019 10.0*
Windows Server 2016 10.0*
Windows 8.1 6.3*
Windows Server 2012 R2 6.3*
Windows 8 6.2
Windows Server 2012 6.2
Windows 7 6.1
Windows Server 2008 R2 6.1
Windows Server 2008 6.0
Windows Vista 6.0
Windows Server 2003 R2 5.2
Windows Server 2003 5.2
Windows XP 64-bitowa wersja 5.2
Windows XP 5.1
Windows 2000 5.0

* W przypadku aplikacji, które zostały manifestowane dla systemu Windows 8.1 lub Windows 10. Aplikacje, które nie są manifestowane dla systemu Windows 8.1 lub Windows 10, zwracają wartość wersji systemu operacyjnego Windows 8 (6.2). Aby określić ustawienia dla aplikacji na system Windows 8.1 lub Windows 10, zobacz Określanie aplikacji dla systemu Windows.

Identyfikowanie bieżącego systemu operacyjnego zwykle nie jest najlepszym sposobem określenia, czy dana funkcja systemu operacyjnego jest obecna. Dzieje się tak, ponieważ w systemie operacyjnym mogły zostać dodane nowe funkcje w redystrybuowalnej DLL. Zamiast używać funkcji pomocnika interfejsu API wersji w celu określenia platformy systemu operacyjnego lub numeru wersji, przetestuj obecność samej funkcji.

Aby określić najlepszy sposób testowania funkcji, zapoznaj się z dokumentacją dotyczącą interesującej jej funkcji. Na poniższej liście omówiono niektóre typowe techniki wykrywania funkcji:

  • Możesz przetestować obecność funkcji skojarzonych z funkcją. Aby przetestować obecność funkcji w systemowej bibliotece DLL, wywołaj funkcję LoadLibrary, aby załadować bibliotekę DLL. Następnie wywołaj funkcję GetProcAddress, aby określić, czy funkcja zainteresowania znajduje się w bibliotece DLL. Użyj wskaźnika zwróconego przez GetProcAddress, aby wywołać funkcję. Należy pamiętać, że nawet jeśli funkcja jest obecna, może to być wycink, który po prostu zwraca kod błędu, taki jak ERROR_CALL_NOT_IMPLEMENTED.
  • Obecność niektórych funkcji można określić przy użyciu funkcji GetSystemMetrics. Można na przykład wykryć wiele monitorów wyświetlania, wywołując GetSystemMetrics(SM_CMONITORS).
  • Istnieje kilka wersji bibliotek DLL redystrybucyjnych, które implementują funkcje interfejsu użytkownika i typowe kontrole. Aby uzyskać informacje na temat określania, które wersje są obecne w systemie, w którym działa aplikacja, zobacz temat Shell and Common Controls Versions.

Jeśli musisz wymagać określonego systemu operacyjnego, pamiętaj, aby używać go jako minimalnej obsługiwanej wersji, zamiast projektować test dla jednego systemu operacyjnego. Dzięki temu kod wykrywania będzie nadal działać w przyszłych wersjach systemu Windows.

Należy pamiętać, że aplikacja 32-bitowa może wykryć, czy działa w usłudze WOW64, wywołując funkcję IsWow64Process. Może uzyskać dodatkowe informacje o procesorze, wywołując funkcję GetNativeSystemInfo.

Aby uzyskać więcej informacji, zobacz informacje dotyczące wersji systemu Windows 10 i kartę informacyjną cyklu życia systemu Windows.