AGB  ·  Datenschutz  ·  Impressum  







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

OS Version ermitteln

Ein Thema von Luckie · begonnen am 30. Nov 2010 · letzter Beitrag vom 31. Dez 2010
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: OS Version ermitteln

  Alt 30. Nov 2010, 09:10
Hallo.

Prinzipiell stimmts bei mir:

---------------------------
Project1
---------------------------
Windows Vista rocessExefileBusiness Edition Service Pack 1 Build: 6001 32-bit
---------------------------
OK
---------------------------

Aber da hat sich glaube ich irgendwas dazwischen geschummelt, was da nicht hingehört
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von divBy0
divBy0

Registriert seit: 4. Mär 2007
Ort: Sponheim
1.021 Beiträge
 
Delphi XE2 Professional
 
#2

AW: OS Version ermitteln

  Alt 30. Nov 2010, 09:13
Mein Windows 7 Ultimate 64 wird als:

---------------------------
Project1
---------------------------
Windows 7 Ultimate Edition Build: 7600 32-bit
---------------------------
OK
---------------------------


erkannt.
Marc
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt, die 10. summt die Melodie von Tetris... | Wenn das die Lösung ist, dann hätte ich gerne mein Problem zurück! | engbarth.es
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

AW: OS Version ermitteln

  Alt 30. Nov 2010, 09:31
Windows 7 Professional 32-bit: Passt (Meldung als: Windows 7 Professional Build: 7600 32-bit)
Windows XP Professional SP3 32-bit (VM, "Windows XP-Mode"): Passt NICHT (Meldung als: Windows XP Home Edition Service Pack 3 Build: 2600)
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: OS Version ermitteln

  Alt 30. Nov 2010, 10:23
Im Quellcode habe ich ja die Quelle aus dem MSDN angegeben, wo ich den C Code übersetzt habe. Eventuell habe ich da einen Fehler gemacht.

C:
Code:
if Wert1 & Wert dann
Wurde bei mir zu
if Wert1 AND WERT2 = 0 dann Das könnte eventuell nicht stimmen.

Und die 32/64-BIT Erkennung scheint nicht zu funktionieren.

Da ich nicht alle Versionen testen kann. Würde ich euch bitte doch mal den Code zu debuggen (sollte nicht sehr schwer sein, da es nur Verzweigungen sind) und zu gucken, wo er in den falschen Zweig springt und mir dass dann mitzuteilen.

Warum ich das noch mal mache ist, dass ich die vorgeschlagene Methode zur Bestimmung des Betriebssystems umsetzen wollte. Deswegen auch die 32/64-Bit Erkennung auf diese Weise.

Und Unicode ist es noch nicht, weil ich es hier auf dem Sofa hinter der Front auf dem Netbook mit meinem alten D7 entwickele. Kann man es so ändern, dass es sowohl unter D/ als Ansi compiliert, als auch unter D2010 als Unicode? Welche Datentypen müsste ich da nehmen. String sollte ja als Ansi und Unicode kompilieren.
Michael
Ein Teil meines Codes würde euch verunsichern.

Geändert von Luckie (30. Nov 2010 um 10:26 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

AW: OS Version ermitteln

  Alt 30. Nov 2010, 10:28
C:
Code:
if Wert1 & Wert dann
Wurde bei mir zu
if Wert1 AND WERT2 = 0 dann Das könnte eventuell nicht stimmen.
Das stimmt tatsächlich nicht.
Code:
if (Wert1 & Wert2)
müsste

if (Wert1 and Wert2) <> 0 then

sein. Oder auch

if Boolean(Wert1 and Wert2) then
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

AW: OS Version ermitteln

  Alt 30. Nov 2010, 12:23
Noch mal zu dem C Code:
Code:
if Wert1 & Wert dann
Wie übersetzt man das in Delphi? Eventuell habe ich das falsch Übersetzt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#7

AW: OS Version ermitteln

  Alt 30. Nov 2010, 12:26
ich denke so ists dann richtig:
if (osvi.wSuiteMask and VER_SUITE_PERSONAL = VER_SUITE_PERSONAL) then Home ist $0200 und Prof ist $0100

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.385 Beiträge
 
Delphi 12 Athens
 
#8

AW: OS Version ermitteln

  Alt 30. Nov 2010, 14:48
Noch mal zu dem C Code:
Code:
if Wert1 & Wert dann
Wie übersetzt man das in Delphi? Eventuell habe ich das falsch Übersetzt.
Alles was am Ende übrig bleibt, das bewertet C als Boolean.

False = 0
True <> 0

also if TheVar and TheConstOderSonstwas <> 0 then .


if (osvi.wSuiteMask and VER_SUITE_PERSONAL = VER_SUITE_PERSONAL) then
das ist ja fast genauso gut, wie if TheBool = true then , außerdem ist es länger und, wie ich finde, unübersichtlicher, als if osvi.wSuiteMask and VER_SUITE_PERSONAL <> 0 then Dieses Konstengenvergleiche ist nur wichtig, wenn es um Vergleiche mehrer Bits geht.

also z.B.
Delphi-Quellcode:
const Value0 = $00;
  Value1 = $01;
  Value2 = $02;
  Value3 = $03;
  ValueMask = $0F;
if TheVar and ValueMask = Value2 then
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Hartmann
Jens Hartmann

Registriert seit: 11. Jan 2009
Ort: Wilnsdorf
1.439 Beiträge
 
Delphi XE2 Professional
 
#9

AW: OS Version ermitteln

  Alt 30. Nov 2010, 12:38
Hallo Michael,

Windows 7 Professional 64-Bit geht immer noch nicht. Da kommt immer noch die Meldung 32-Bit.

Gruß Jens
Jens Hartmann
Das Leben selber ist zu kurz, also nutze jeden Tag wie er kommt.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.660 Beiträge
 
Delphi 12 Athens
 
#10

AW: OS Version ermitteln

  Alt 30. Nov 2010, 12:40
Zitat:
---------------------------
Project1
---------------------------
Windows Vista rocessExefileBusiness Edition Service Pack 2 Build: 6002 32-bit
---------------------------
OK
---------------------------
Stimmt hier (von dem blödsinnigen String mal abgesehen).
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:53 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