Auf meinem Windows 7-System gibt die GetVersionEx-Windows-API-Funktion "6.0" zurück und zeigt Windows Vista an, wenn sie should "6.1" zurückgibt.GetVersionEx funktioniert nicht unter Windows 7?
Wenn es darauf ankommt, ich den folgenden Delphi-Code verwendet:
function winver: string;
var
ver: TOSVersionInfo;
begin
ver.dwOSVersionInfoSize := SizeOf(ver);
if GetVersionEx(ver) then
with ver do
result := IntToStr(dwMajorVersion) + '.' + IntToStr(dwMinorVersion) + '.' + IntToStr(dwBuildNumber) + ' (' + szCSDVersion + ')';
end;
und die Zeichenfolge "6.0.6002 (Service Pack 2)" wurde zurückgegeben.
Ist das nicht sehr seltsam?
Delphi 2009 ist nicht wirklich alt ... –
Auch müssen Sie daran denken, dass, wenn Sie Kindprozess erstellen, die comatiblity mit zum Beispiel Vista SP2 gesetzt haben, dann dieser Kindprozess dieses Verhalten erben wird. Beispiel: Sie verwenden TotalCommander mit der Kompatibilität von VistaSP2, dann wird jeder gestartete Prozess von TC auch die VistaSP2-Kompatibilität verwenden. – kibab
Ich habe jetzt festgestellt, dass GetVersionEx Vista zurückgibt, wenn meine Anwendung den Delphi 2009-Debugger ausführt, aber Windows 7, wenn die Anwendung allein ausgeführt wird. –