Entwickler-Ecke

Windows API - Vista ersteckt sich hinter XP (GetVersionEx ergibt XP)


Uwe.F. - Mi 18.07.07 07:47
Titel: Vista ersteckt sich hinter XP (GetVersionEx ergibt XP)
Hallo liebe Vista-Leidensgenossen,

ich habe auf meinem Rechner eine W98-Partition, eine XP- und eine Vista-Partition.
Unter Vista in der IDE gestartet, liefert diese Routine die Versionsdaten der XP-Partition nebst Build und SP-Installation (also 5.1, Build 2600 SP2) :cry:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
function IsVista : boolean;
var OSVinfo : TOSVERSIONINFO;
begin
  ZeroMemory(@OSVinfo,sizeOf(OsVinfo));
  OSVinfo.dwOSVersionInfoSize := sizeof(TOSVERSIONINFO);
  GetVersionEx(OSVinfo);
  if (OSVinfo.dwMajorVersion = 6then IsVista:=true else IsVista:=false;
end;

Wie zum Teufel passiert denn so etwas? Unter Vista gibt es eine eigene D7-Installation ...
Hat irgend einer eine Idee?

Beste Grüße,
Uwe

Moderiert von user profile iconTino: Code- durch Delphi-Tags ersetzt.


Tino - Mi 18.07.07 08:48

Hallo!

Das kann dann passieren wenn deine Anwendung im Kompatibilitätsmodus läuft. Schau mal die Eigenschaften deiner EXE unter der Registerkarte "Kompatibilität" an. Dort muss die entsprechende Checkbox deaktiviert sein.

Gruß
Tino


Uwe.F. - Mi 18.07.07 10:39

Das ist eine gute Idee - teste ich heute abend.

Beste Grüße,
Uwe