需要帮助检测Windows版本(具体来说,我无法检测到自己的计算机是10)

时间:2015-10-18 00:25:33

标签: c++ windows visual-studio-2015 windows-10

在VS2015中,我使用了一个名为“IsWindowsVersionOrGreater”的versionhelpers.h中的一个返回布尔值的方法。

它需要三个参数:wMajorVersion,wMinorVersion,wServicePackMajor。

对于Windows 7,这是:6,1,0

对于Windows 8,这是:6,2,0

对于Windows 8.1,这是:6,3,0

对于Windows 10,这是:10,0,0

(来源:https://msdn.microsoft.com/en-us/library/windows/desktop/ms724833(v=vs.85).aspx

但是当我运行以下内容时,

if (IsWindowsVersionOrGreater(10,0,0)) std::cout << true << std::endl;
else std::cout << false << std::endl;

我得到的输出是“假的”。

我前段时间升级到Windows 10,所以这让我担心方法的可靠性。如果我使用6.2(Windows 8),则返回true。所以它可能与我从8升级到10的方式有关,有些东西没有注册到某些地方......?

此外,还有一个不带参数的方法,并返回一个名为“IsWindows10OrGreater”的布尔值。据说这种方法只能由Windows 10用户访问,但我似乎无法访问它。 (来源:https://msdn.microsoft.com/en-us/library/windows/desktop/dn905474(v=vs.85).aspx

所以,问题是,是否有更好的方法来识别使用Windows 10的用户?如果是这样,怎么样?如果没有,我该如何解决这个问题?我不需要知道他们是使用7,8还是其他版本,但我确实需要知道他们是否使用10。

0 个答案:

没有答案