Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Programm nur für XP aber nicht in Vista mit Kompatibili... (https://www.delphipraxis.net/136156-programm-nur-fuer-xp-aber-nicht-vista-mit-kompatibili.html)

turboPASCAL 24. Jun 2009 18:24


Programm nur für XP aber nicht in Vista mit Kompatibili...
 
Hi,

Ich habe gerade das Problem das mein Programm nur unter XP laufen darf.

Was mach ich denn wenn der User es im Kompatibilitätsmodus zB. unter Vista laufen lässt ?
Dem Prg. werden ja dann "falsche" VersionsInformationen vorgegaukelt.

In der Registry rumrühren wollte ich eigentlich nicht.

Nun könnte man noch das Windows eigene Programm "Ver" bzw. "Winver.exe" verwenden...

Gibt es eventuell andere Lösungen ?

himitsu 24. Jun 2009 18:32

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Versuch einfach mal auf eine API zuzugreifen, welche es noch nicht in XP gibt. :stupid:

Wenn das Programm abstürzt, dann darf es da laufen.
OK, oder schau halt nur nach, ob sie vorhanden ist :angel2:

turboPASCAL 24. Jun 2009 18:39

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Zitat:

OK, oder schau halt nur nach, ob sie vorhanden ist
Ist wohl die bessere Variante. ;)

Aber ne Idee.

jaenicke 24. Jun 2009 18:40

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Warum darf denn das Programm nur unter XP laufen? Ich meine das muss doch einen Grund haben, kann man das daran nicht entscheiden? :gruebel:

Fridolin Walther 24. Jun 2009 18:43

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Prinzipiell könnte man auch die undokumentierte API RtlGetNtVersionNumbers benutzen. Frag mich aber bitte nicht wies da mit Kompatibilitätsproblemen aussieht ;).
Delphi-Quellcode:
procedure RtlGetNtVersionNumbers(var dwMajorVersion : DWORD; var dwMinorVersion : DWORD; UnknownButShouldBeNull : Pointer); stdcall; external 'ntdll.dll';
Bei einem kurzen Test unter Windows 7 wurde weiterhin 6.1 ausgespuckt statt 5.1 wenn die Anwendung im XP Kompatibilitätsmodus gestartet wurde.

turboPASCAL 24. Jun 2009 18:51

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Zitat:

Zitat von jaenicke
Warum darf denn das Programm nur unter XP laufen? Ich meine das muss doch einen Grund haben, kann man das daran nicht entscheiden? :gruebel:

Um einen Registriezugriff mit Adminrechten bei Vista zu Vermeiden.

@0xF30FC7, werde ich mir mal angucken.

Fridolin Walther 24. Jun 2009 18:55

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
RtlGetNtVersionNumbers hat die zurück gegebenen Werte hardcoded. Bedeutet, egal welche Einstellungen der User dort vorgenommen hat, die Werte sollten stets identisch sein. Ich hab zwischenzeitlich auch gefunden, wozu der letzte Parameter gut sein soll: Das ist die Build Number. In meinen Tests allerdings, gabs dort einen stets einen mehr oder weniger zufälligen Wert statt einer Build Nummer. Die Funktion scheint übrigens ab Windows XP vorhanden zu sein.

jaenicke 24. Jun 2009 18:56

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Unter XP kannst du die Rechte aber genauso wenig voraussetzen wie dass unter Vista diese nicht vorhanden sind. ;-)

Warum versuchst du den Schreibzugriff nicht einfach?

Dezipaitor 24. Jun 2009 18:59

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Wenn du damit anfängst, dann wird etwas später auch diese Funktion emuliert. Das ist ein reines Katz- und Mausspiel.

Die Frage ist, warum du nicht Vista unterstützen kannst. Nach meiner Meinung solltest du auf jeden Fall das Ausführen auch unter Windows > XP erlauben, jedoch mit einer einmaligen Warnung, dass das OS nicht offiziell unterstützt wird.
Ich kann mir ehrlich gesagt, kein Grund vorstellen auf Anwendungsebene.

Dezipaitor 24. Jun 2009 19:01

Re: Programm nur für XP aber nicht in Vista mit Kompatibili.
 
Zitat:

Zitat von turboPASCAL
Um einen Registriezugriff mit Adminrechten bei Vista zu Vermeiden.

Hu? :?: Das verstehe ich nicht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:04 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz