Ciao a tutti,
su Windows 11, lanciando il comando Winver, mi restituisce queste informazioni: (build SO 22621.1848)
In Lazarus, usando questo codice
var OSVersionInfo: TOSVersionInfo;
begin
OSVersionInfo.dwOSVersionInfoSize := SizeOf(OSVersionInfo);
GetVersionEx(OSVersionInfo);
end;
in OSVersionInfo.dwBuildNumber mi ritrovo correttamente "22621".
Io però avrei bisogno di conoscere quello che Winver mi mette dopo il punto, cioè 1848.
Avete idea di come si fa?
Grazie, Mario
A titolo informativo, esiste il record avanzato informativo, ma comunque non riporta quella informazione. In realtà l'informazione dovrebbe essere riportata, ma penso che per un discorso retrò anni 90 (derivante da Win98) non sia mai stato attuato.
Queste sono le definizioni aggiuntive:
type
_OSVERSIONINFOEX = packed record
dwOSVersionInfoSize: DWORD;
dwMajorVersion: DWORD;
dwMinorVersion: DWORD;
dwBuildNumber: DWORD;
dwPlatformId: DWORD;
szCSDVersion: array[0..127] of WideChar;
wServicePackMajor: WORD;
wServicePackMinor: WORD;
wSuiteMask: WORD;
wProductType: BYTE;
wReserved:BYTE;
end;
TOSVersionInfoEx = _OSVERSIONINFOEX;
function GetVersionEx(var lpVersionInformation: TOSVersionInfoEx): BOOL; external 'kernel32' name 'GetVersionExW';
Ciao