diff options
| author | 2024-09-10 11:22:04 +0200 | |
|---|---|---|
| committer | 2024-09-10 11:22:04 +0200 | |
| commit | 7e87d9ac7a885fe2a4a04cd46f25e9d81e6439ec (patch) | |
| tree | 13ee05afae5b64fa6dfe40f82d5a6f01f6629697 /src | |
| parent | Fix crash on empty realname; fix #2673 (#2674) (diff) | |
| download | KVIrc-7e87d9ac7a885fe2a4a04cd46f25e9d81e6439ec.tar.gz KVIrc-7e87d9ac7a885fe2a4a04cd46f25e9d81e6439ec.tar.bz2 KVIrc-7e87d9ac7a885fe2a4a04cd46f25e9d81e6439ec.zip | |
update windows versions and target windows 10 for Qt6 (#2677)
* update windows version detection to include 11 and 10 subversions
* target windows 10 for Qt6
Diffstat (limited to 'src')
| -rw-r--r-- | src/kvilib/ext/KviRuntimeInfo.cpp | 43 |
1 files changed, 35 insertions, 8 deletions
diff --git a/src/kvilib/ext/KviRuntimeInfo.cpp b/src/kvilib/ext/KviRuntimeInfo.cpp index 38f9d4774..9367613b8 100644 --- a/src/kvilib/ext/KviRuntimeInfo.cpp +++ b/src/kvilib/ext/KviRuntimeInfo.cpp @@ -280,14 +280,32 @@ static QString queryWinInfo(QueryInfo info) // Test for the specific product. if(osvi.dwMajorVersion == 10 && osvi.dwMinorVersion == 0) { - if(osvi.wProductType == VER_NT_WORKSTATION) + if(osvi.wProductType == VER_NT_WORKSTATION && osvi.dwBuildNumber < 19536) szVersion += "Windows 10 "; + if(osvi.dwBuildNumber == 17763) + szVersion += "1809 "; + else if(osvi.dwBuildNumber == 19044) + szVersion += "21H2 "; + else if(osvi.dwBuildNumber == 19045) + szVersion += "22H2 "; else if(osvi.wProductType == VER_NT_SERVER || osvi.wProductType == VER_NT_DOMAIN_CONTROLLER ) szVersion += "Windows Server "; - if(osvi.dwBuildNumber <= 14393) + if(osvi.dwBuildNumber == 14393) szVersion += "2016 "; - else if(osvi.dwBuildNumber <= 17763) - szVersion += "2019 "; + if(osvi.dwBuildNumber > 22000) + szVersion += "Windows "; + if(osvi.dwBuildNumber == 22000) + szVersion += "11 21H2 "; + else if(osvi.dwBuildNumber == 22621) + szVersion += "11 22H2 "; + else if(osvi.dwBuildNumber == 22631) + szVersion += "11 23H2 "; + else if(osvi.dwBuildNumber == 26100) + szVersion += "11 24H2 "; + else if(osvi.dwBuildNumber == 17763) + szVersion += "Server 2019 "; + else if(osvi.dwBuildNumber == 20348) + szVersion += "Server 2022 "; else szVersion += "vNext "; } @@ -319,7 +337,7 @@ static QString queryWinInfo(QueryInfo info) PGETPRODUCTINFO pGetProductInfo; pGetProductInfo = (PGETPRODUCTINFO)GetProcAddress( GetModuleHandle(TEXT("kernel32.dll")), "GetProductInfo"); - // from MSDN, Document Date 01/27/2022 + // from MSDN, Document Date 02/02/2023 // https://docs.microsoft.com/en-us/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getproductinfo // the entire PRODUCT_CORE group has the base Windows version in the // returned value. rip out "Windows" of all PRODUCT values as well @@ -491,6 +509,12 @@ static QString queryWinInfo(QueryInfo info) case PRODUCT_MULTIPOINT_STANDARD_SERVER: szVersion += "MultiPoint Server Standard (full installation)"; break; + case PRODUCT_PPI_PRO: + szVersion += "Team"; + break; + case PRODUCT_PRO_FOR_EDUCATION: + szVersion += "Pro Education"; + break; case PRODUCT_PRO_WORKSTATION: szVersion += "Pro for Workstations"; break; @@ -530,6 +554,9 @@ static QString queryWinInfo(QueryInfo info) case PRODUCT_SERVER_FOUNDATION: szVersion += "Server Foundation"; break; + case PRODUCT_SERVERRDSH: + szVersion += "Enterprise for Virtual Desktops"; + break; case PRODUCT_SMALLBUSINESS_SERVER: szVersion += "Small Business Server"; break; @@ -551,12 +578,12 @@ static QString queryWinInfo(QueryInfo info) case PRODUCT_STANDARD_SERVER_CORE: szVersion += "Server Standard (core installation)"; break; - case PRODUCT_STANDARD_SERVER_V: - szVersion += "Server Standard without Hyper-V"; - break; case PRODUCT_STANDARD_SERVER_CORE_V: szVersion += "Server Standard without Hyper-V (core installation)"; break; + case PRODUCT_STANDARD_SERVER_V: + szVersion += "Server Standard without Hyper-V"; + break; case PRODUCT_STANDARD_SERVER_SOLUTIONS: szVersion += "Server Solutions Premium"; break; |
