Version Helper functions
The following functions can be used to determine the current operating system version or identify whether it is a Windows or Windows Server release. These functions provide simple tests that use the VerifyVersionInfo function and the recommended greater than or equal to comparisons that are proven as a robust means to determine the operating system version.
Note
These APIs are defined by versionhelpers.h, which is included in the Windows Software Development Kit (SDK) for Windows 8.1 and later. This file can be used with other Microsoft Visual Studio releases to implement the same functionality for Windows versions prior to Windows 8.1.
Note
Versionhelpers.h requires windows.h to be included before it.
Function | Description |
---|---|
IsWindowsXPOrGreater | Indicates if the current OS version matches, or is greater than, the Windows XP version. |
IsWindowsXPSP1OrGreater | Indicates if the current OS version matches, or is greater than, the Windows XP with Service Pack 1 (SP1) version. |
IsWindowsXPSP2OrGreater | Indicates if the current OS version matches, or is greater than, the Windows XP with Service Pack 2 (SP2) version. |
IsWindowsXPSP3OrGreater | Indicates if the current OS version matches, or is greater than, the Windows XP with Service Pack 3 (SP3) version. |
IsWindowsVistaOrGreater | Indicates if the current OS version matches, or is greater than, the Windows Vista version. |
IsWindowsVistaSP1OrGreater | Indicates if the current OS version matches, or is greater than, the Windows Vista with Service Pack 1 (SP1) version. |
IsWindowsVistaSP2OrGreater | Indicates if the current OS version matches, or is greater than, the Windows Vista with Service Pack 2 (SP2) version. |
IsWindows7OrGreater | Indicates if the current OS version matches, or is greater than, the Windows 7 version. |
IsWindows7SP1OrGreater | Indicates if the current OS version matches, or is greater than, the Windows 7 with Service Pack 1 (SP1) version. |
IsWindows8OrGreater | Indicates if the current OS version matches, or is greater than, the Windows 8 version. |
IsWindows8Point1OrGreater | Indicates if the current OS version matches, or is greater than, the Windows 8.1 version. For Windows 10, IsWindows8Point1OrGreater returns false unless the application contains a manifest that includes a compatibility section that contains the GUIDs that designate Windows 8.1 and/or Windows 10. |
IsWindows10OrGreater | Indicates if the current OS version matches, or is greater than, the Windows 10 version. For Windows 10, IsWindows10OrGreater returns false unless the application contains a manifest that includes a compatibility section that contains the GUID that designates Windows 10. |
IsWindowsServer | Indicates if the current OS is a Windows Server release. Applications that need to distinguish between server and client versions of Windows should call this function. |
IsWindowsVersionOrGreater | You should only use this function if the other provided version helper functions do not fit your scenario. Indicates if the current OS version matches, or is greater than, the provided version information. This function is useful in confirming a version of Windows Server that doesn't share a version number with a client release. |
Example
The inline functions defined in the VersionHelpers.h header file let you verify the operating system version by returning a Boolean value when testing for a version of Windows.
For example, if your application requires Windows 10 or later, use the following test.
#include <windows.h>
#include <VersionHelpers.h>
if (!IsWindows10OrGreater())
{
MessageBox(NULL, "You need at least Windows 10", "Version Not Supported", MB_OK);
}