2016-10-12 5 views
-1

현재 Windows 버전을 나타내는 C++ 프로그램을 작성하려고합니다. 수십 개의 질문과 답변을 보았지만 그 중 누구도 나를 위해 일하지 않았습니다.C++ Windows 10 홈에서의 Windows 버전 문제

저는 Windows 10 Home edition을 사용하고 있습니다. 나는 Visual Studio를 내가 시도 2015 년

첫 번째 옵션을 사용하고

: MSDN에 따라 윈도우 8로

두 번째 옵션을 해당

OSVERSIONINFO osvi; 
    ZeroMemory(&osvi, sizeof(OSVERSIONINFO)); 
    osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); 
    GetVersionEx(&osvi); 
    cout << osvi.dwMajorVersion << endl; 
    cout << osvi.dwMinorVersion << endl; 

이 6 인쇄하고 (2) 그 나는 시도했다 :

#include <VersionHelpers.h> 

if (IsWindowsVistaOrGreater()) 
    printf("VistaOrGreater\n"); 
if (IsWindows7OrGreater()) 
    printf("Windows7OrGreater\n"); 
if (IsWindows8OrGreater()) 
    printf("Windows8OrGreater\n"); 
if (IsWindows8Point1OrGreater()) 
    printf("Windows8Point1OrGreater\n"); 
if (IsWindows10OrGreater()) 
    printf("Windows10OrGreater\n"); 

이렇게하면, IsWindows10OrGreater()이 내 시스템에 정의되어 있지 않으며 컴파일 오류가 발생합니다.

어떤 도움이 필요합니까?

답변

2

Windows 8.1 및 Windows 10에서 GetVersion 및 GetVersionEx 기능은 더 이상 사용되지 않습니다. Windows 8.1 또는 Windows 10 용으로 명시되지 않은 응용 프로그램은 Windows 8 OS 버전 값 (6.2)

Targeting your application for Windows을 참조하십시오.

+0

Windows 10의 경우 유일한 방법은이 매니페스트를 사용하는 것입니까? – mbaros

+1

@mbaros는 분명히 그렇지 않습니다. 링크 된 질문에는 시도 할 수있는 아주 똑똑한 해결책이 있습니다. – jhbh

+0

예. 나는 이미 그것을 보았다. 고맙습니다 – mbaros