共用方式為


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

另請參閱