Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;-获取Windows版本 我尝试把Windows版本作为C++的结果。 我尝试过代码,但它给了我错误的版本。 例如: #包括 #包括 int main() { OSVersionInfo信息; 零内存(&info,sizeof(osversioninfo)); info.dwosVersionInfo=sizeof(osVersionInfo); GetVersionEx((LPOSVERSIONINFO)&info);//info需要类型转换 printf(“Windows版本:%u.%u\n”,info.dwMajorVersion,info.dwMinorVersion); }_C++_Windows_Version_Detect - Fatal编程技术网

C++;-获取Windows版本 我尝试把Windows版本作为C++的结果。 我尝试过代码,但它给了我错误的版本。 例如: #包括 #包括 int main() { OSVersionInfo信息; 零内存(&info,sizeof(osversioninfo)); info.dwosVersionInfo=sizeof(osVersionInfo); GetVersionEx((LPOSVERSIONINFO)&info);//info需要类型转换 printf(“Windows版本:%u.%u\n”,info.dwMajorVersion,info.dwMinorVersion); }

C++;-获取Windows版本 我尝试把Windows版本作为C++的结果。 我尝试过代码,但它给了我错误的版本。 例如: #包括 #包括 int main() { OSVersionInfo信息; 零内存(&info,sizeof(osversioninfo)); info.dwosVersionInfo=sizeof(osVersionInfo); GetVersionEx((LPOSVERSIONINFO)&info);//info需要类型转换 printf(“Windows版本:%u.%u\n”,info.dwMajorVersion,info.dwMinorVersion); },c++,windows,version,detect,C++,Windows,Version,Detect,输出:Windows版本:6.2 使用Windows 10和NT 6.2的Im对应于Windows 8/8.1。 我在用代码块, 感谢您的回复。根据: 随着Windows 8.1的发布,GetVersionEx API的行为在操作系统版本返回的值中发生了变化。GetVersionEx函数返回的值现在取决于应用程序的表现方式 未针对Windows 8.1或Windows 10显示的应用程序将返回Windows 8 OS版本值(6.2)。一旦为给定的操作系统版本显示应用程序,GetVersionEx

输出:Windows版本:6.2 使用Windows 10和NT 6.2的Im对应于Windows 8/8.1。 我在用代码块, 感谢您的回复。

根据:

随着Windows 8.1的发布,GetVersionEx API的行为在操作系统版本返回的值中发生了变化。GetVersionEx函数返回的值现在取决于应用程序的表现方式

未针对Windows 8.1或Windows 10显示的应用程序将返回Windows 8 OS版本值(6.2)。一旦为给定的操作系统版本显示应用程序,GetVersionEx将始终返回该应用程序在未来版本中显示的版本。要显示Windows 8.1或Windows 10的应用程序,请参阅

(我认为他们的实际意思是,将返回的最大版本号是清单中的值)

如果您只想在Vista及更高版本上运行,那么获取Windows版本的一个更简单的方法就是使用。这可以在不影响清单的情况下工作(尽管您可能出于其他原因希望这样做)

#include<windows.h>
#include<stdio.h>
int main()
{
     OSVERSIONINFOEX info;
     ZeroMemory(&info, sizeof(OSVERSIONINFOEX));
     info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);
     GetVersionEx((LPOSVERSIONINFO)&info);//info requires typecasting

     printf("Windows version: %u.%u\n", info.dwMajorVersion, info.dwMinorVersion);

}