AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

GetVersionEx unter Windows 10

Ein Thema von greenmile · begonnen am 18. Dez 2014 · letzter Beitrag vom 21. Dez 2014
Antwort Antwort
Seite 3 von 4     123 4   
Daniel
(Administrator)

Registriert seit: 30. Mai 2002
Ort: Hamburg
15.522 Beiträge
 
Delphi 10.4 Sydney
 
#21

AW: GetVersionEx unter Windows 10

  Alt 19. Dez 2014, 12:32
Stop, stop stop.
Es ging um die Prüfung der Windows-Version. Um Screenshots von Arbeitsplätzen aus Arztpraxen geht es hier nicht. Bleibt bitte beim Thema.


"IsWindowsVersionOrGreater " ist im MSDN mit folgendem Kommentar versehen:
Zitat:
Important You should only use this function if the other provided Version Helper functions do not fit within your scenarios.
Daniel R. Wolf
Admin Delphi-PRAXiS
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#22

AW: GetVersionEx unter Windows 10

  Alt 20. Dez 2014, 19:03
Haut mich nicht, aber ich hole das Thema noch einmal hervor, sodass es nicht untergeht.
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#23

AW: GetVersionEx unter Windows 10

  Alt 20. Dez 2014, 19:20
Allem Anschein nach verabschiedet sich MS von den konkreten Versionsnummern als Entscheidungskriterium und möchte uns Entwickler dazu bewegen, auf Releases zu prüfen:

http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
  • IsWindows7OrGreater
  • IsWindows7SP1OrGreater
  • IsWindows8OrGreater
  • IsWindows8Point1OrGreater
  • IsWindowsServer
  • IsWindowsVistaOrGreater
  • IsWindowsVistaSP1OrGreater
  • IsWindowsVistaSP2OrGreater
  • IsWindowsXPOrGreater
  • IsWindowsXPSP1OrGreater
  • IsWindowsXPSP2OrGreater
  • IsWindowsXPSP3OrGreater
  • IsWindowsVersionOrGreater
Man müsste also erst prüfen, ob eine der genannten Funktionen in der Kernel32.dll vorhanden ist und ggf. auch nutzen - wenn nicht, dann auf die alten Funktionen ausweichen, die dann ja - da man offenbar auf einem älteren Windows ist - zuverlässig laufen.
Ich denke da an einen Delphi-Wrapper, der einem diese ganze Fragerei wegkapselt.

Diesbezüglich verstehe ich überhaupt nichts mehr (zu viele sinnlose Änderungern).
Daher eine total dumme Frage:

damit ich die neuen APIs (siehe oben) nutzen kann ..
- muss ich meine Software unter Windows 8.1 kompilieren
oder
- kann ich die aktuell auch mit meinem XE2 unter Windows 7 Home Edition nutzen
oder
- brauche ich eine neue Delphi-Version UND Windows 8.1?
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
640 Beiträge
 
Delphi 10.1 Berlin Professional
 
#24

AW: GetVersionEx unter Windows 10

  Alt 20. Dez 2014, 19:44
Hallo dGeek,

[edit] erst mal, es gibt keine dummen Fragen, nur leider viel zu oft dumme Antworten[/edit] ...das wollte ich noch los werden

Zitat:
damit ich die neuen APIs (siehe oben) nutzen kann ..
- muss ich meine Software unter Windows 8.1 kompilieren
nein

Zitat:
- kann ich die aktuell auch mit meinem XE2 unter Windows 7 Home Edition nutzen
bringt nur ab Win 8 was

Zitat:
- brauche ich eine neue Delphi-Version UND Windows 8.1?
Das geht mit (fast???) jedem Delphi, ist ja WinApi

Soweit ich das verstehe - also Bitte an die Wissenden: korrigieren wenn ich es falsch verstanden habe - die neue API ist ein Ersatz für die alten Funktionen GetVersion und GetVersionEx ab Windows 8.0. Mit allen vorherigen Versionen funktioniert GetVersion und GetVersionEx nach wie vor. Es gibt auch keine Fehlermeldung, wenn du die Beiden unter 8.0, 8.1, Server 2012 usw. verwendest. Es werden aber nicht mehr alle Daten in der TOSVersionInfoEx zur Verfügung gestellt, z.B. die "dwBuildNumber". GetVersion und GetVersionEx sind also ab Windows 8.0 nicht mehr geeignet, die Windows-Version zu bestimmen.

Das war ja mein Ansatz: Wenn sich die MS-Ler schon für neuere Windows-Versionen immer wieder neue Tugenden einfallen lassen um die Version zu bestimmen, dann habe ich doch mit "älterer" (vor einigen Jahren compilierter) Software generell das Problem, dass eine neue Windows-Version mit GetVersionEx gar nicht erkannt wird. Die alte Software glaubt, sie läuft immer noch unter Win7. Und das ist das Fatale daran, wenn man sich früher ausschließlich auf GetVersionEx verlassen hat. Und darum bin ich auch froh darüber, zusätzlich zu GetVersionEx die Build-Nummer aus der Registry ausgelesen zu haben. Der Vergleich ergibt nämlich bei meiner alten Software einen Unterschied, und das ist der Nutzen daran. Wie man mit der Erkennung des Unterschiedes umgeht, darüber wurde ja schon diskutiert.
Gruss Otto
Wenn du mit Gott reden willst, dann bete.
Wenn du ihn treffen willst, schreib bei Tempo 220 eine SMS

Geändert von mm1256 (20. Dez 2014 um 19:46 Uhr) Grund: es gibt keine dummen Fragen
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#25

AW: GetVersionEx unter Windows 10

  Alt 20. Dez 2014, 19:51
Ich nutze für die Versionsprüfung die bereits von mir hier im Forum gepostete downloadbare Komponente und die funktioniert bis Windows 10 inklusive dwBuildNumber etc. mit GetVersionExW sehr gut.
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
640 Beiträge
 
Delphi 10.1 Berlin Professional
 
#26

AW: GetVersionEx unter Windows 10

  Alt 20. Dez 2014, 20:00
Wo gibt es denn die Komponente - und ist die mit Source?

BTW ich habe gesucht, aber nichts gefunden. "version" ist ein ignoriertes Suchwort
Gruss Otto
Wenn du mit Gott reden willst, dann bete.
Wenn du ihn treffen willst, schreib bei Tempo 220 eine SMS
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#27

AW: GetVersionEx unter Windows 10

  Alt 20. Dez 2014, 20:04
Die folgende Komponente ist bis Windows 7 kompatibel und lässt sich sehr einfach bis Windows 10 erweitern:
http://www.delphipraxis.net/97999-%5...erkennung.html
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#28

AW: GetVersionEx unter Windows 10

  Alt 20. Dez 2014, 21:12
Mal eine ganz doofe Frage:

Wann und wozu benötige ich die konkrete Windows-Version (wenn ich kein "Ich-zeige-die-Windows-Version-an" Programm schreiben will)?

Es gibt APIs die ab einer Version erst vorhanden sind, welche, die ab einer Version ersetzt wurden oder (gibt es das) ab einer Version ersatzlos gestrichen wurden.

In die Zukunft kann ich nicht schauen, darum kann ich also auch nicht garantieren, dass alles immer funktioniert. Aber alle diese oben genannten Szenarien kann ich mit IsWindowsVersionOrGreater komplett behandeln ... und das funktioniert seit Windows 2000.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
dGeek
(Gast)

n/a Beiträge
 
#29

AW: GetVersionEx unter Windows 10

  Alt 20. Dez 2014, 21:14
Ich nutze die Versionsabfrage für statistische Gründe
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.635 Beiträge
 
Delphi 5 Professional
 
#30

AW: GetVersionEx unter Windows 10

  Alt 20. Dez 2014, 22:47
Soweit ich das verstehe - also Bitte an die Wissenden: korrigieren wenn ich es falsch verstanden habe - die neue API ist ein Ersatz für die alten Funktionen GetVersion und GetVersionEx ab Windows 8.0. Mit allen vorherigen Versionen funktioniert GetVersion und GetVersionEx nach wie vor.
Ab Win8.1, wobei es möglich ist, dass MS hier seit 8.0 anregte, die neuen Funktionen zu nutzen bzw. die alten nicht zu benutzen. Ein 8.0 lässt sich auch mit GetVersionEx korrekt erkennen, 8.1 und höher nur dann, wenn die Applikation ein Manifest mit passender Kompatibilität aufweist.

Mal eine ganz doofe Frage:
Nö, die ist nicht doof, denn es gibt nur schlaue Fragen.

Zitat:
Wann und wozu benötige ich die konkrete Windows-Version (wenn ich kein "Ich-zeige-die-Windows-Version-an" Programm schreiben will)?
Ich habe ein Projekt namens Automatisierung, das Software automatisiert auf Windows installieren kann, ohne jedes Mal von Hand alle Installationsroutinen durchzuklappern. Zu diesem Zweck muss meine Automatisierung die Windows-Version kennen, um einige dieser Software-Produkte von vornherein gar nicht erst anzuzeigen, weil einige davon unter bestimmten Windows-Versionen gar nicht erst laufen. Dazu muss genau festlegbar sein, unter welchen Windows-Versionen die Software läuft, denn einige verweigern nunmal den Dienst auf neueren oder älteren Versionen.

MfG Dalai
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf