This commit is contained in:
朱子楚\zhuzi
2023-12-29 23:09:46 +08:00
parent 42f0987e73
commit 6221eb4178
8 changed files with 141 additions and 56 deletions

View File

@ -196,17 +196,42 @@ int FluTools::cursorScreenIndex(){
return screenIndex;
}
int FluTools::windowBuildNumber(){
#if defined(Q_OS_WIN)
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();
return buildNumber;
}
#endif
return -1;
}
bool FluTools::isWindows11OrGreater(){
static QVariant var;
if(var.isNull()){
#if defined(Q_OS_WIN)
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>=22000){
var = QVariant::fromValue(true);
return true;
}
auto buildNumber = windowBuildNumber();
if(buildNumber>=22000){
var = QVariant::fromValue(true);
return true;
}
#endif
var = QVariant::fromValue(false);
return false;
}else{
return var.toBool();
}
}
bool FluTools::isWindows10OrGreater(){
static QVariant var;
if(var.isNull()){
#if defined(Q_OS_WIN)
auto buildNumber = windowBuildNumber();
if(buildNumber>=10240){
var = QVariant::fromValue(true);
return true;
}
#endif
var = QVariant::fromValue(false);