|
@@ -3025,26 +3025,10 @@ bool __fastcall IsWin10()
|
|
|
return CheckWin32Version(10, 0);
|
|
|
}
|
|
|
//---------------------------------------------------------------------------
|
|
|
-static OSVERSIONINFO __fastcall GetWindowsVersion()
|
|
|
-{
|
|
|
- OSVERSIONINFO Result;
|
|
|
- memset(&Result, 0, sizeof(Result));
|
|
|
- Result.dwOSVersionInfoSize = sizeof(Result);
|
|
|
- // Cannot use the VCL Win32MajorVersion+Win32MinorVersion+Win32BuildNumber as
|
|
|
- // on Windows 10 due to some hacking in InitPlatformId, the Win32BuildNumber is lost
|
|
|
- GetVersionEx(&Result);
|
|
|
- return Result;
|
|
|
-}
|
|
|
-//---------------------------------------------------------------------------
|
|
|
-bool __fastcall IsWin10Build(unsigned int BuildNumber)
|
|
|
+bool IsWin10Build(int BuildNumber)
|
|
|
{
|
|
|
// It might be enough to check the dwBuildNumber, as we do in TWinConfiguration::IsDDExtBroken()
|
|
|
- OSVERSIONINFO OSVersionInfo = GetWindowsVersion();
|
|
|
- return
|
|
|
- (OSVersionInfo.dwMajorVersion > 10) ||
|
|
|
- ((OSVersionInfo.dwMajorVersion == 10) && (OSVersionInfo.dwMinorVersion > 0)) ||
|
|
|
- ((OSVersionInfo.dwMajorVersion == 10) && (OSVersionInfo.dwMinorVersion == 0) &&
|
|
|
- (OSVersionInfo.dwBuildNumber >= BuildNumber));
|
|
|
+ return IsWin10() && (Win32BuildNumber() >= BuildNumber);
|
|
|
}
|
|
|
//---------------------------------------------------------------------------
|
|
|
bool IsWin11()
|
|
@@ -3178,15 +3162,9 @@ UnicodeString __fastcall WindowsProductName()
|
|
|
return Result;
|
|
|
}
|
|
|
//---------------------------------------------------------------------------
|
|
|
-int __fastcall GetWindowsBuild()
|
|
|
-{
|
|
|
- return GetWindowsVersion().dwBuildNumber;
|
|
|
-}
|
|
|
-//---------------------------------------------------------------------------
|
|
|
UnicodeString __fastcall WindowsVersion()
|
|
|
{
|
|
|
- OSVERSIONINFO OSVersionInfo = GetWindowsVersion();
|
|
|
- UnicodeString Result = FORMAT(L"%d.%d.%d", (int(OSVersionInfo.dwMajorVersion), int(OSVersionInfo.dwMinorVersion), int(OSVersionInfo.dwBuildNumber)));
|
|
|
+ UnicodeString Result = FORMAT(L"%d.%d.%d", (Win32MajorVersion(), Win32MinorVersion(), Win32BuildNumber()));
|
|
|
return Result;
|
|
|
}
|
|
|
//---------------------------------------------------------------------------
|