【问题标题】:Check if windows10 is installed C++检查windows10是否安装了C++
【发布时间】: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 标头中设置最低版本,这样它甚至不会在早期版本上加载。

标签: c++ windows c++17 version


【解决方案1】:

你看过 GetVersionEx() 函数和 OSVERSIONINFOEX 结构吗?

可能的用法:

void print_os_info()
{
    OSVERSIONINFOEX info;
    ZeroMemory(&info, sizeof(OSVERSIONINFOEX));
    info.dwOSVersionInfoSize = sizeof(OSVERSIONINFOEX);

    GetVersionEx(&info);

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

这是答案的来源: Get OSVersion in Windows using C++

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-23
  • 2017-04-13
  • 2012-03-28
  • 1970-01-01
  • 2012-04-09
  • 2013-03-23
  • 2010-11-06
相关资源
最近更新 更多