在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。