GetVersion 函式 (sysinfoapi.h)
Windows 8.1 之後,可能會變更或無法使用 GetVersion 版本。 請改用 版本協助程式函式。 如需 Windows 10 應用程式,請參閱以 Windows 應用程式為目標。
隨著發行 Windows 8.1,GetVersion API 的行為在操作系統版本將會傳回的值中變更。 GetVersion 函式傳回的值現在取決於應用程式的指令清單方式。
未針對 Windows 8.1 或 Windows 10 顯示的應用程式會傳回 (6.2) Windows 8 OS 版本值。 一旦應用程式針對指定的操作系統版本進行指令清單, GetVersion 一律會傳回應用程式在未來版本中所顯示的版本。 若要為應用程式顯示 Windows 8.1 或 Windows 10,請參閱針對 Windows 將應用程式設為目標。
Syntax
NOT_BUILD_WINDOWS_DEPRECATE DWORD GetVersion();
傳回值
如果函式成功,則傳回值會以低序字包含作業系統的主要和次要版本號碼,以及高序字中操作系統平臺的相關信息。
對於所有平臺,低序字會包含操作系統的版本號碼。 這個字的低序位元組會以十六進位表示法指定主要版本號碼。 高序位元組會以十六進位表示法指定次要版本 (修訂) 編號。 高序位為零,下一個 7 位代表組建編號,低序位元組為 5。
備註
GetVersionEx 函式是開發,因為檢查 GetVersion 所傳回的已封裝 DWORD 值時,有許多現有的應用程式會逐一查看,並轉置主要和次要版本號碼。 GetVersionEx 會強制應用程式明確檢查版本資訊的每個元素。 VerifyVersionInfo 藉由比較所需的系統版本與您目前的系統版本,來消除進一步的錯誤可能。
範例
下列代碼段說明如何從 GetVersion 傳回值擷取資訊: OSVERSIONINFOEX
#include <windows.h>
#include <stdio.h>
void main()
{
DWORD dwVersion = 0;
DWORD dwMajorVersion = 0;
DWORD dwMinorVersion = 0;
DWORD dwBuild = 0;
dwVersion = GetVersion();
// Get the Windows version.
dwMajorVersion = (DWORD)(LOBYTE(LOWORD(dwVersion)));
dwMinorVersion = (DWORD)(HIBYTE(LOWORD(dwVersion)));
// Get the build number.
if (dwVersion < 0x80000000)
dwBuild = (DWORD)(HIWORD(dwVersion));
printf("Version is %d.%d (%d)\n",
dwMajorVersion,
dwMinorVersion,
dwBuild);
}
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | sysinfoapi.h (包含 Windows.h) |
程式庫 | Kernel32.lib |
DLL | Kernel32.dll |