Wer mit XProfan die Windowsversion ab Windows8.1 korrekt ermitteln will, stößt da eventuell auf Probleme.
Bei mir wird zum Beispiel unter Windows10 folgendes mit $Winver angezeigt:
[Blockierte Grafik: https://abload.de/img/1niurd.png]
6.2 ist aber die Versionsnummer für Windows8.0!
Grund dafür ist, das sowohl die API GetVersion als auch die API GetVersionEx ein spezielles Manifest für die EXE benötgen, um ab Windows8.1 korrekt zu funktionieren - siehe hier: https://msdn.microsoft.com/de-de/library/…3(v=vs.85).aspx
Abhilfe schafft hier ein spezieller nativer API-Aufruf, der es ermöglicht, die Windowsversion auch ohne angepasstes Manifest korrekt anzeigen zu lassen.
Hier Code zum Testen:
'#####################################################################################
'######### Code von AHT #########
'######### Gepostet für http://www.paules-pc-forum.de #########
'#####################################################################################
Struct OSversionInfoU = dwOSVersionInfoSize&, dwMajorVersion&, dwMinorVersion&, dwBuildNumber&, dwPlatformId&, szCSDVersion$(256), wServicePackMajor%, wServicePackMinor%, wSuiteMask%, wProductType#(1), wReserved#(1)
DECLARE OSversionInfoU#
DIM OSversionInfoU#, OSversionInfoU
OSversionInfoU#.dwOSVersionInfoSize& = SizeOf(OSversionInfoU#)
External("ntdll.dll", "RtlGetVersion", OSversionInfoU#)
Print "Windowsversion: " + str$(OSversionInfoU#.dwMajorVersion&) + "." + str$(OSversionInfoU#.dwMinorVersion&)
Print "Build: " + str$(OSversionInfoU#.dwBuildNumber&)
While 1
Waitinput
EndWhile
Alles anzeigen
Bei mir wird mit diesem Code unter Windows8.1 folgendes angezeigt:
[Blockierte Grafik: https://abload.de/img/2h8u8a.png]
Unter Windows10 steht bei mir das:
[Blockierte Grafik: https://abload.de/img/3u2uq9.png]