The following example uses the Version API Helper functions to determine the version of the current operating system, if it is a Server or Client release, and then displays this information to the console. If compatibility mode is in effect, the example displays the operating system selected for application compatibility.
To obtain the full version number for the operating system, call the GetFileVersionInfo function on one of the system DLLs, such as Kernel32.dll, then call VerQueryValue to obtain the \\StringFileInfo\\<lang><codepage>\\ProductVersion subblock of the file version information.
Relying on version information is not the best way to test for a feature. Instead, refer to the documentation for the feature of interest. For more information on common techniques for feature detection, see Operating System Version.
#include <windows.h> #include <stdio.h> #include <VersionHelpers.h> int __cdecl wmain( __in int argc, __in_ecount(argc) PCWSTR argv[] ) { UNREFERENCED_PARAMETER(argc); UNREFERENCED_PARAMETER(argv); if (IsWindowsXPOrGreater()) { printf("XPOrGreater\n"); } if (IsWindowsXPSP1OrGreater()) { printf("XPSP1OrGreater\n"); } if (IsWindowsXPSP2OrGreater()) { printf("XPSP2OrGreater\n"); } if (IsWindowsXPSP3OrGreater()) { printf("XPSP3OrGreater\n"); } if (IsWindowsVistaOrGreater()) { printf("VistaOrGreater\n"); } if (IsWindowsVistaSP1OrGreater()) { printf("VistaSP1OrGreater\n"); } if (IsWindowsVistaSP2OrGreater()) { printf("VistaSP2OrGreater\n"); } if (IsWindows7OrGreater()) { printf("Windows7OrGreater\n"); } if (IsWindows7SP1OrGreater()) { printf("Windows7SP1OrGreater\n"); } if (IsWindows8OrGreater()) { printf("Windows8OrGreater\n"); } if (IsWindows8Point1OrGreater()) { printf("Windows8Point1OrGreater\n"); } if (IsWindows10OrGreater()) { printf("Windows10OrGreater\n"); } if (IsWindowsServer()) { printf("Server\n"); } else { printf("Client\n"); } }
from : https://msdn.microsoft.com/en-us/library/windows/desktop/ms724429(v=vs.85).aspx
사용상 주의사항.
Applications not manifested for Windows 8.1 or Windows 10 will return the Windows 8 OS version value (6.2). To manifest your applications for Windows 8.1 or Windows 10, refer to Targeting your application for Windows.
///1284.
'VisualStudio.C++.C# > 코딩팁,함수활용,단편' 카테고리의 다른 글
VerQueryValue. (0) | 2017.04.15 |
---|---|
GetFileVersionInfo. (0) | 2017.04.15 |
GetSystemInfo. (0) | 2017.04.15 |
WM_USER, WM_APP. 메시지 번호 범위 용도. (0) | 2017.04.06 |
SendNotifyMessage. (0) | 2017.04.06 |
댓글