AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Info-Fenster von Windows anzeigen

Ein Thema von Willie1 · begonnen am 16. Aug 2015 · letzter Beitrag vom 16. Dez 2016
Antwort Antwort
Willie1

Registriert seit: 28. Mai 2008
691 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

AW: Info-Fenster von Windows anzeigen

  Alt 18. Aug 2015, 15:47
Hallo Dalai,
ich will's nicht so oft erwähnen, ich sehe schlecht und bin nur Hobby-Programmierer..
Ich habe die Seite bei MS gefunden und weiß jetzt, dass GetWindowsVersion ausgeknipst ist:https://msdn.microsoft.com/en-us/lib...=vs.85%29.aspx
Mit dem Manifest-Beispiel komme ich aber nicht zurecht, da fehlen mir die Grundlagen.
Die weiteren Lösungen werde ich am anderen Rechner mit Delphi ausprobieren.
Willie.

Geändert von Willie1 (18. Aug 2015 um 15:51 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.683 Beiträge
 
Delphi 5 Professional
 
#2

AW: Info-Fenster von Windows anzeigen

  Alt 18. Aug 2015, 16:14
Ich habe die Seite bei MS gefunden und weiß jetzt, dass GetWindowsVersion ausgeknipst ist:https://msdn.microsoft.com/en-us/lib...=vs.85%29.aspx
Naja, ausgeknipst ist es nicht, nur als "Deprecated", also "veraltet", markiert und sie liefert ohne passende Kompatibilität eine ältere/falsche Version zurück.

Zitat:
Mit dem Manifest-Beispiel komme ich aber nicht zurecht, da fehlen mir die Grundlagen.
Daher mein Hinweis auf die diversen Anleitungen im Netz (darunter natürlich auch deutschsprachige) und himitsus Manifest Creator hier im Forum. Letztlich ist die Manifest-Geschichte halb so wild.

MfG Dalai
  Mit Zitat antworten Zitat
t.roller
(Gast)

n/a Beiträge
 
#3

AW: Info-Fenster von Windows anzeigen

  Alt 13. Dez 2016, 22:35
Interessant mit Sourcecode:
http://www.winsoft.sk/download/osversion.zip
http://www.winsoft.sk/download/osversion.exe
  Mit Zitat antworten Zitat
a.def
(Gast)

n/a Beiträge
 
#4

AW: Info-Fenster von Windows anzeigen

  Alt 13. Dez 2016, 22:53
Oder hier: [Kompo] TWindowsVersionsInfo - Kompo zur Windowserkennung
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Info-Fenster von Windows anzeigen

  Alt 14. Dez 2016, 02:06
Es ist die Frage wozu man es braucht. Nur zum Anzeigen kann man wohl die Version von der kernel32.dll nehmen. Will man aber sicherstellen, dass das Programm auch unter der angestrebten Windows Version lauffähig ist, sollte man gegen VerifyVersionInfo https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx testen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Willie1

Registriert seit: 28. Mai 2008
691 Beiträge
 
Delphi 10.1 Berlin Starter
 
#6

AW: Info-Fenster von Windows anzeigen

  Alt 15. Dez 2016, 16:00
Hallo,
bei Delphi 10 Berlin liefert TOSVersion.ToString Windows 10(Version 10.0 Build 0 64-Bit-Edition) zurück. Schon besser aber nicht gut!
TOSVersion.Check(6,3) gibt true zurück bei Windows 10. Gut!
Ich habe gerade festgestellt, es ist völlig egal welche Werte ich eingebe z.B 0,0 oder 8,0, es ergibt immer true.

Aber wenn der Programmierer mit dem Manifest selbst bestimmt, welche Version es sein soll, ist eine Abfrage wohl tatsächlich unnötig. Ich verstehe die Absicht von Microsoft nicht!

Gruß Willie

Geändert von Willie1 (15. Dez 2016 um 16:28 Uhr) Grund: Quelltext überprüft
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#7

AW: Info-Fenster von Windows anzeigen

  Alt 15. Dez 2016, 16:38
Aber wenn der Programmierer mit dem Manifest selbst bestimmt, welche Version es sein soll, ist eine Abfrage wohl tatsächlich unnötig. Ich verstehe die Absicht von Microsoft nicht!
Es hat sich einiges an Semantik in den einzelnen Windowsversionen geändert. In Anniversary-Release wäre da bspw. die Nutzung langer Pfadnamen (nicht mehr PATH_MAX == 260) zu nennen.

Programme ab Windows XP dürfen sich aussuchen welche Version der Common Controls sie benutzen. Auch das wird über das Manifest gesteuert.

Im Grunde besagt das Manifest also: Hör mal, ich weiß bescheid über die Eigenheiten von Windows X.Y, keine Notwendigkeit mir was vorzugaukeln. Dementsprechend sollte so ein Programm dann aber auch über High-DPI und andere moderne Funktionen bescheid wissen und sich entsprechend verhalten.

Raymond Chen hat schon vor langer Zeit darüber geschrieben warum die Versionsabfragen unheimlich kompliziert sind und warum neuere Windowsversionen schummeln müssen. Viele ältere Programme haben nämlich selten dämliche Versionsprüfungen eingebaut (so nach dem Motto: Hauptversion >=5 und Unterversion >=1 ... und dann meinen man hätte alle Windowsversionen ab XP abgedeckt). Daher auch die neueren Funktionen ala MSDN-Library durchsuchenVerifyVersionInfo. Da aber ältere Programme sich nicht verändern und damit auch kein Manifest bekommen werden in dem steht "ick kenn mir aus mit Windows 10, wa?!", funktioniert die von MS beabsichtigte Methode zur Rückwärtskompatibilität erstaunlich gut.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.919 Beiträge
 
Delphi 12 Athens
 
#8

AW: Info-Fenster von Windows anzeigen

  Alt 16. Dez 2016, 07:53
Aber wenn der Programmierer mit dem Manifest selbst bestimmt, welche Version es sein soll, ist eine Abfrage wohl tatsächlich unnötig. Ich verstehe die Absicht von Microsoft nicht!
Wie Assarbad schon geschrieben hat, liegt der Grund in fehlerhaften Versionsprüfungen durch viele Entwickler in der Vergangenheit.

Viele haben einfach wie Assarbad schrieb auf >= Version XY geprüft, viele aber auch auf Majorversion = 5 usw.
Dadurch liefen viele Programme nur durch die Versionsprüfung nicht unter neueren Versionen von Windows und andere ließen sich starten, funktionierten aber nicht.

Die einzig sinnvolle Versionsprüfung wäre auf das Feature zu prüfen, das man benötigt. Denn wenn man etwas verwendet, das in einer neueren Version nicht mehr drin ist, hilft es nix, dass die Version >= Version XY ist...
Und umgekehrt wurden auch schon Features per Update zur Verfügung gestellt, z.B. einiges in XP SP3. Anwendungen, die auf die Windowsversion prüfen, würden dann aber nicht funktionieren obwohl das Feature dort dann doch verfügbar ist.

Durch die Angabe im Manifest für welche Version eine Anwendung entwickelt wurde, kann Windows nun spezifische Kompatibilitätsoptionen automatisch anwenden, weil es weiß was es in der Version gab.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 21:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz