diff --git a/src/Gui/Splashscreen.cpp b/src/Gui/Splashscreen.cpp index 08f645984f..abd50fa9dd 100644 --- a/src/Gui/Splashscreen.cpp +++ b/src/Gui/Splashscreen.cpp @@ -34,6 +34,7 @@ # include # include # include +# include # include # include # include @@ -64,7 +65,7 @@ namespace Gui { QString prettyProductInfoWrapper() { auto productName = QSysInfo::prettyProductName(); -#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) +#if QT_VERSION < QT_VERSION_CHECK(6, 5, 0) #ifdef FC_OS_MACOSX auto macosVersionFile = QString::fromUtf8("/System/Library/CoreServices/.SystemVersionPlatform.plist"); auto fi = QFileInfo (macosVersionFile); @@ -87,6 +88,26 @@ QString prettyProductInfoWrapper() } } #endif +#endif +#ifdef FC_OS_WIN64 + QSettings regKey {QString::fromUtf8("HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion"), QSettings::NativeFormat}; + if (regKey.contains(QString::fromUtf8("CurrentBuildNumber"))) { + auto buildNumber = regKey.value(QString::fromUtf8("CurrentBuildNumber")).toInt(); + if (buildNumber > 0) { + if (buildNumber < 9200) { + productName = QString::fromUtf8("Windows 7 build %1").arg(buildNumber); + } + else if (buildNumber < 10240) { + productName = QString::fromUtf8("Windows 8 build %1").arg(buildNumber); + } + else if (buildNumber < 22000) { + productName = QString::fromUtf8("Windows 10 build %1").arg(buildNumber); + } + else { + productName = QString::fromUtf8("Windows 11 build %1").arg(buildNumber); + } + } + } #endif return productName; }