【发布时间】:2020-10-18 04:58:59
【问题描述】:
我必须检查机器上是否安装了windows 10,因为我的程序只支持win10。
我尝试了这个我已经在 stackoverflow 上找到的解决方案。
if (IsWindowsVersionOrGreater(10, 0, 0))
{
//nothing
}
else
{
MessageBox(NULL, "Your OS is not supported.", "Version Not Supported", MB_OK);
}
它给了我Your OS is not supported 但为什么呢?我理解错了吗?
还有其他解决方案吗?
最好的问候。
【问题讨论】:
-
您的应用程序是否有明确指定应用程序支持 Win10 的清单?如果不是,那么大多数版本控制 API,包括您提到的那个,都会认为正在使用早期的操作系统版本。此行为记录在 MSDN 上:Targeting your application for Windows。如果您不希望您的应用在 Win10 之前的版本上运行,更好的解决方案是在您的应用 EXE 的 PE 标头中设置最低版本,这样它甚至不会在早期版本上加载。