AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Falscher Product Type in OSVersionInfoEx
Thema durchsuchen
Ansicht
Themen-Optionen

Falscher Product Type in OSVersionInfoEx

Ein Thema von Nersgatt · begonnen am 7. Dez 2012 · letzter Beitrag vom 24. Dez 2012
Antwort Antwort
Seite 2 von 2     12   
musicman56
(Gast)

n/a Beiträge
 
#11

AW: Falscher Product Type in OSVersionInfoEx

  Alt 11. Dez 2012, 17:58
Zitat:
Übrigens bist du auf das Lizenzproblem noch nichtmal eingegangen.
Was soll ich dazu schon sagen? Nix, weil Teile davon (die Werte von OSInfo.dwMajorVersion und OSInfo.dwMinorVersion) ja auch wieder abgekupfert sind vom Code des Thread-Erstellers. Ich sehe das nicht so eng, denn es sind allgemein verfügbare Informationen, nur eben zusammengetragen auf ein paar zeilen Code. Aber vielleicht muss man wirklich mal auf die Schnauze fallen.
  Mit Zitat antworten Zitat
Benutzerbild von Assarbad
Assarbad

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

AW: Falscher Product Type in OSVersionInfoEx

  Alt 11. Dez 2012, 18:50
Was soll ich dazu schon sagen? Nix, weil Teile davon (die Werte von OSInfo.dwMajorVersion und OSInfo.dwMinorVersion) ja auch wieder abgekupfert sind vom Code des Thread-Erstellers. Ich sehe das nicht so eng, denn es sind allgemein verfügbare Informationen, nur eben zusammengetragen auf ein paar zeilen Code.
Ich verstehe was du meinst. Aber ohne daß du - oder in diesem Fall ihr beide - über eine Lizenz ein Nutzungsrecht einräumt kann es im Grunde niemand benutzen. Laut AGB räumst du durch die Nutzung der DP nämlich nur der DP implizit gewisse Rechte ein. Nicht ihren Nutzern.

Aber vielleicht muss man wirklich mal auf die Schnauze fallen.
Vermutlich ... und leider
Ich finde das Konzept "geistiges Eigentum" schon krank, weil dich dann theoretisch jeder Lehrer und deine Eltern verklagen können müßten - und allgemein jeder bei dem du Erfahrungen jedweder Art sammelst. Aber das ist ein anderes Thema.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#13

AW: Falscher Product Type in OSVersionInfoEx

  Alt 13. Dez 2012, 15:01
In letzter Zeit diskutieren wir hier aber ständig irgendwelche Lizenzfragen...

Zum Thems: Hier mal ein Auszug aus meinem DelphiWorks 1.5 Beta (wobei ich noch nicht dazu gekommen bin, Windows 8 und seine Varianten einzupflegen):
Delphi-Quellcode:
function dwGetOS: TDWOSType;
var
   OSV: TOSVersionInfoEx;
   SI: TSystemInfo;
begin
   dwGetWindowsVersionEx(OSV);
   ZeroMemory(@SI, SizeOf(TSystemInfo));
   GetSystemInfo(SI);
   result:= OS_UNKNOWN;
   if OSV.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS then begin
      case OSV.dwMinorVersion of
        0:
          case (OSV.dwBuildNumber and $FFFF) of
            950:
              if (UpperCase(OSV.szCSDVersion) = 'A') then
                result:= OS_WIN95A
              else
                result:= OS_WIN95;
            1111:
              result:= OS_WIN95OSR2A;
            else
              result:= OS_WIN95;
          end; // case (OSV.dwBuildNumber and $FFFF)
        3:
          if (UpperCase(OSV.szCSDVersion) = 'B') then
            result:= OS_WIN95OSR2B
          else
            result:= OS_WIN95OSR2C;
        10:
          case (OSV.dwBuildNumber and $FFFF) of
            1998:
              result:= OS_WIN98;
            2222:
              result:= OS_WIN98SE;
            else
              result:= OS_WIN98;
          end; // case (OSV.dwBuildNumber and $FFFF)
        90:
          case (OSV.dwBuildNumber and $FFFF) of
            2476:
              result:= OS_WINMEBETA;
            3000:
              result:= OS_WINME;
            else
              result:= OS_WINME;
          end; // case (OSV.dwBuildNumber and $FFFF)
      end; // case OSV.dwMinorVersion

   end // if OSV.dwPlatformId = VER_PLATFORM_WIN32_WINDOWS
   else if OSV.dwPlatformId = VER_PLATFORM_WIN32_NT then begin
      case OSV.dwMajorVersion of
        3:
          case OSV.dwMinorVersion of
            1:
              result:= OS_NT31;
            5, 50:
              result:= OS_NT350;
            else
              result:= OS_NT351;
          end; // case OSV.dwMinorVersion
        4:
          case OSV.wProductType of
            VER_NT_DOMAIN_CONTROLLER:
              result:= OS_NT4_DOMAINCONTROLLER;
            VER_NT_SERVER:
              result:= OS_NT4_SERVER;
            VER_NT_WORKSTATION:
              result:= OS_NT4_WORKSTATION;
          end; // case OSV.wProductType
        5:
          case OSV.dwMinorVersion of
            0:
              if (OSV.wSuiteMask and VER_SUITE_ENTERPRISE) <> 0 then begin
                  result:= OS_WIN2000_ADVSERVER;
              end else if (OSV.wSuiteMask and VER_SUITE_DATACENTER) <> 0 then begin
                  result:= OS_WIN2000_DATACENTER;
              end else begin
                  result:= OS_WIN2000;
              end;
           1:
              if GetSystemMetrics(SM_MEDIACENTER) <> 0 then begin
                result:= OS_WINXP_MEDIACENTER;
              end else if GetSystemMetrics(SM_STARTER) <> 0 then begin
                result:= OS_WINXP_STARTER;
              end else if GetSystemMetrics(SM_TABLETPC) <> 0 then begin
                result:= OS_WINXP_TABLET;
              end else begin
                if OSV.wSuiteMask and VER_SUITE_PERSONAL > 0 then begin
                    result:= OS_WINXP_HOME;
                end else if OSV.wSuiteMask and VER_SUITE_ENTERPRISE > 0 then begin
                    result:= OS_DOTNETSERVER;
                end else if OSV.wSuiteMask and VER_SUITE_EMBEDDEDNT > 0 then begin
                    result:= OS_WINXP_EMBEDDED;
                end else begin
                  if SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_IA64 then begin
                    result:= OS_WINXP_IA64;
                  end else begin
                    result:= OS_WINXP_PROFESSIONAL;
                  end;
                end;
              end;
           2:
              if GetSystemMetrics(SM_SERVERr2) = 0 then begin
                if (OSV.wProductType = VER_NT_WORKSTATION) and
                   ((SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or dwWOW64IsRunning)
                then
                  result:= OS_WINXP_PROFESSIONAL_X64
                else // if OSV.wProductType = VER_NT_WORKSTATION

                if SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_IA64 then begin
                  if (OSV.wSuiteMask and VER_SUITE_DATACENTER) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_DATACENTER_ITANIUM;
                  end else if (OSV.wSuiteMask and VER_SUITE_ENTERPRISE) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_ENTERPRISE_ITANIUM;
                  end;
                end else if (SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or dwWOW64IsRunning then begin
                  if (OSV.wSuiteMask and VER_SUITE_DATACENTER) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_DATACENTER_X64;
                  end else if (OSV.wSuiteMask and VER_SUITE_COMPUTE_SERVER) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_COMPUTE_CLUSTER_X64;
                  end else if (OSV.wSuiteMask and VER_SUITE_ENTERPRISE) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_ENTERPRISE_X64;
                  end else if (OSV.wSuiteMask and VER_SUITE_SMALLBUSINESS <> 0) and
                              (OSV.wSuiteMask and VER_SUITE_SMALLBUSINESS_RESTRICTED <> 0) then begin
                      result:= OS_WINDOWS_SERVER_2003_SMALL_BUSINESS_X64;
                  end else if (OSV.wSuiteMask and VER_SUITE_STORAGE_SERVER) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_STORAGE_SERVER_X64;
                  end else if (OSV.wSuiteMask and VER_SUITE_WH_SERVER) <> 0 then begin
                      result:= OS_WINDOWS_HOME_SERVER_2003_X64;
                  end else begin
                      result:= OS_WINDOWS_SERVER_2003_X64;
                  end;
                end else begin
                  if (OSV.wSuiteMask and VER_SUITE_DATACENTER) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_DATACENTER;
                  end else if (OSV.wSuiteMask and VER_SUITE_COMPUTE_SERVER) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_COMPUTE_CLUSTER;
                  end else if (OSV.wSuiteMask and VER_SUITE_ENTERPRISE) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_ENTERPRISE;
                  end else if (OSV.wSuiteMask and VER_SUITE_SECURITY_APPLIANCE) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_SECAPPL;
                  end else if (OSV.wSuiteMask and VER_SUITE_SMALLBUSINESS <> 0) and
                              (OSV.wSuiteMask and VER_SUITE_SMALLBUSINESS_RESTRICTED <> 0) then begin
                      result:= OS_WINDOWS_SERVER_2003_SMALL_BUSINESS;
                  end else if (OSV.wSuiteMask and VER_SUITE_STORAGE_SERVER) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_STORAGE_SERVER;
                  end else if (OSV.wSuiteMask and VER_SUITE_BLADE) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_WEBEDITION;
                  end else if (OSV.wSuiteMask and VER_SUITE_WH_SERVER) <> 0 then begin
                      result:= OS_WINDOWS_HOME_SERVER_2003;
                  end else begin
                      result:= OS_WINDOWS_SERVER_2003;
                  end;
                end;
              end else begin // GetSystemMetrics(SM_SERVERr2) = 0
                if SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_IA64 then begin
                  if (OSV.wSuiteMask and VER_SUITE_DATACENTER) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_R2_DATACENTER_ITANIUM;
                  end else if (OSV.wSuiteMask and VER_SUITE_ENTERPRISE) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_R2_ENTERPRISE_ITANIUM;
                  end;
                end else if (SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or dwWOW64IsRunning then begin
                  if (OSV.wSuiteMask and VER_SUITE_DATACENTER) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_R2_DATACENTER_X64;
                  end else if (OSV.wSuiteMask and VER_SUITE_COMPUTE_SERVER) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_R2_COMPUTE_CLUSTER_X64;
                  end else if (OSV.wSuiteMask and VER_SUITE_ENTERPRISE) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_R2_ENTERPRISE_X64;
                  end else if (OSV.wSuiteMask and VER_SUITE_SMALLBUSINESS <> 0) and
                              (OSV.wSuiteMask and VER_SUITE_SMALLBUSINESS_RESTRICTED <> 0) then begin
                      result:= OS_WINDOWS_SERVER_2003_R2_SMALL_BUSINESS_X64;
                  end else if (OSV.wSuiteMask and VER_SUITE_STORAGE_SERVER) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_R2_STORAGE_SERVER_X64;
                  end else if (OSV.wSuiteMask and VER_SUITE_WH_SERVER) <> 0 then begin
                      result:= OS_WINDOWS_HOME_SERVER_2003_R2_X64;
                  end else begin
                      result:= OS_WINDOWS_SERVER_2003_R2_X64;
                  end;
                end else begin
                  if (OSV.wSuiteMask and VER_SUITE_DATACENTER) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_R2_DATACENTER;
                  end else if (OSV.wSuiteMask and VER_SUITE_COMPUTE_SERVER) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_R2_COMPUTE_CLUSTER;
                  end else if (OSV.wSuiteMask and VER_SUITE_ENTERPRISE) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_R2_ENTERPRISE;
                  end else if (OSV.wSuiteMask and VER_SUITE_SECURITY_APPLIANCE) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_R2_SECAPPL;
                  end else if (OSV.wSuiteMask and VER_SUITE_SMALLBUSINESS <> 0) and
                              (OSV.wSuiteMask and VER_SUITE_SMALLBUSINESS_RESTRICTED <> 0) then begin
                      result:= OS_WINDOWS_SERVER_2003_R2_SMALL_BUSINESS;
                  end else if (OSV.wSuiteMask and VER_SUITE_STORAGE_SERVER) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_R2_STORAGE_SERVER;
                  end else if (OSV.wSuiteMask and VER_SUITE_BLADE) <> 0 then begin
                      result:= OS_WINDOWS_SERVER_2003_R2_WEBEDITION;
                  end else if (OSV.wSuiteMask and VER_SUITE_WH_SERVER) <> 0 then begin
                      result:= OS_WINDOWS_HOME_SERVER_2003_R2;
                  end else begin
                      result:= OS_WINDOWS_SERVER_2003_R2;
                  end;
                end;
              end; // GetSystemMetrics(SM_SERVERr2) = 0
           end; // case OSV.dwMinorVersion
        6:
          case OSV.dwMinorVersion of
            0: // <-- Vista series
              case OSV.wProductType of
                VER_NT_WORKSTATION:
                  case dwiGetProductInfo(OSV) of
                    PRODUCT_UNKNOWN:
                      result:= OS_WINDOWS_VISTA;
                    PRODUCT_STARTER:
                      result:= OS_WINDOWS_VISTA_STARTER;
                    PRODUCT_HOME_BASIC:
                      result:= OS_WINDOWS_VISTA_HOME_BASIC;
                    PRODUCT_HOME_BASIC_N:
                      result:= OS_WINDOWS_VISTA_HOME_BASIC_N;
                    PRODUCT_HOME_PREMIUM:
                      result:= OS_WINDOWS_VISTA_HOME_PREMIUM;
                    PRODUCT_HOME_PREMIUM_N:
                      result:= OS_WINDOWS_VISTA_HOME_PREMIUM_N;
                    PRODUCT_BUSINESS:
                      result:= OS_WINDOWS_VISTA_BUSINESS;
                    PRODUCT_BUSINESS_N:
                      result:= OS_WINDOWS_VISTA_BUSINESS_N;
                    PRODUCT_ENTERPRISE:
                      result:= OS_WINDOWS_VISTA_ENTERPRISE;
                    PRODUCT_ENTERPRISE_N:
                      result:= OS_WINDOWS_VISTA_ENTERPRISE_N;
                    PRODUCT_ULTIMATE:
                      result:= OS_WINDOWS_VISTA_ULTIMATE;
                    PRODUCT_ULTIMATE_N:
                      result:= OS_WINDOWS_VISTA_ULTIMATE_N;
                  end; // case dwiGetProductInfo(OSV)
                else // case OSV.wProductType
                  case dwiGetProductInfo(OSV) of
                    PRODUCT_UNKNOWN:
                      result:= OS_WINDOWS_SERVER_2008;
                    PRODUCT_SERVER_FOUNDATION:
                      result:= OS_WINDOWS_SERVER_2008_FOUNDATION;
                    PRODUCT_STANDARD_SERVER:
                      result:= OS_WINDOWS_SERVER_2008_STANDARD;
                    PRODUCT_STANDARD_SERVER_CORE:
                      result:= OS_WINDOWS_SERVER_2008_STANDARD_CORE;
                    PRODUCT_STANDARD_SERVER_CORE_V:
                      result:= OS_WINDOWS_SERVER_2008_STANDARD_CORE_V;
                    PRODUCT_ENTERPRISE_SERVER:
                      result:= OS_WINDOWS_SERVER_2008_ENTERPRISE;
                    PRODUCT_ENTERPRISE_SERVER_V:
                      result:= OS_WINDOWS_SERVER_2008_ENTERPRISE_V;
                    PRODUCT_ENTERPRISE_SERVER_CORE:
                      result:= OS_WINDOWS_SERVER_2008_ENTERPRISE_CORE;
                    PRODUCT_ENTERPRISE_SERVER_CORE_V:
                      result:= OS_WINDOWS_SERVER_2008_ENTERPRISE_CORE_V;
                    PRODUCT_ENTERPRISE_SERVER_IA64:
                      result:= OS_WINDOWS_SERVER_2008_IA64;
                  end; // case dwiGetProductInfo(OSV)
              end; // case dwiGetProductInfo(OSV)
            1: // <-- Seven series
              case OSV.wProductType of
                VER_NT_WORKSTATION:
                  case dwiGetProductInfo(OSV) of
                    PRODUCT_STARTER:
                      if (SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or dwWOW64IsRunning then
                        result:= OS_WINDOWS_7_STARTER_X64
                      else
                        result:= OS_WINDOWS_7_STARTER;
                    PRODUCT_HOME_BASIC:
                      if (SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or dwWOW64IsRunning then
                        result:= OS_WINDOWS_7_HOME_BASIC_X64
                      else
                        result:= OS_WINDOWS_7_HOME_BASIC;
                    PRODUCT_HOME_BASIC_N:
                      if (SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or dwWOW64IsRunning then
                        result:= OS_WINDOWS_7_HOME_BASIC_N_X64
                      else
                        result:= OS_WINDOWS_7_HOME_BASIC_N;
                    PRODUCT_HOME_PREMIUM:
                      if (SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or dwWOW64IsRunning then
                        result:= OS_WINDOWS_7_HOME_PREMIUM_X64
                      else
                        result:= OS_WINDOWS_7_HOME_PREMIUM;
                    PRODUCT_HOME_PREMIUM_N:
                      if (SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or dwWOW64IsRunning then
                        result:= OS_WINDOWS_7_HOME_PREMIUM_N_X64
                      else
                        result:= OS_WINDOWS_7_HOME_PREMIUM_N;
                    PRODUCT_HOME_PREMIUM_SERVER:
                      if (SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or dwWOW64IsRunning then
                        result:= OS_WINDOWS_HOME_SERVER_2011_X64
                      else
                        result:= OS_WINDOWS_HOME_SERVER_2011;
                    PRODUCT_HOME_SERVER:
                      if (SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or dwWOW64IsRunning then
                        result:= OS_WINDOWS_STORAGE_SERVER_2008_R2_ESSENTIALS_X64
                      else
                        result:= OS_WINDOWS_STORAGE_SERVER_2008_R2_ESSENTIALS;
                    PRODUCT_PROFESSIONAL:
                      if (SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or dwWOW64IsRunning then
                        result:= OS_WINDOWS_7_PROFESSIONAL_X64
                      else
                        result:= OS_WINDOWS_7_PROFESSIONAL;
                    PRODUCT_PROFESSIONAL_N:
                      if (SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or dwWOW64IsRunning then
                        result:= OS_WINDOWS_7_PROFESSIONAL_N_X64
                      else
                        result:= OS_WINDOWS_7_PROFESSIONAL_N;
                    PRODUCT_ENTERPRISE:
                      if (SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or dwWOW64IsRunning then
                        result:= OS_WINDOWS_7_ENTERPRISE_X64
                      else
                        result:= OS_WINDOWS_7_ENTERPRISE;
                    PRODUCT_ENTERPRISE_N:
                      if (SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or dwWOW64IsRunning then
                        result:= OS_WINDOWS_7_ENTERPRISE_N_X64
                      else
                        result:= OS_WINDOWS_7_ENTERPRISE_N;
                    PRODUCT_ULTIMATE:
                      if (SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or dwWOW64IsRunning then
                        result:= OS_WINDOWS_7_ULTIMATE_X64
                      else
                        result:= OS_WINDOWS_7_ULTIMATE;
                    PRODUCT_ULTIMATE_N:
                      if (SI.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or dwWOW64IsRunning then
                        result:= OS_WINDOWS_7_ULTIMATE_N_X64
                      else
                        result:= OS_WINDOWS_7_ULTIMATE_N;
                  end; // case dwiGetProductInfo(OSV)
                else //case OSV.wProductType
                  case dwiGetProductInfo(OSV) of
                    PRODUCT_UNKNOWN:
                      result:= OS_WINDOWS_SERVER_2008_R2;
                    PRODUCT_SERVER_FOUNDATION:
                      result:= OS_WINDOWS_SERVER_2008_R2_FOUNDATION;
                    PRODUCT_STANDARD_SERVER:
                      result:= OS_WINDOWS_SERVER_2008_R2_STANDARD;
                    PRODUCT_STANDARD_SERVER_CORE:
                      result:= OS_WINDOWS_SERVER_2008_R2_STANDARD_CORE;
                    PRODUCT_STANDARD_SERVER_CORE_V:
                      result:= OS_WINDOWS_SERVER_2008_R2_STANDARD_CORE_V;
                    PRODUCT_ENTERPRISE_SERVER:
                      result:= OS_WINDOWS_SERVER_2008_R2_ENTERPRISE;
                    PRODUCT_ENTERPRISE_SERVER_V:
                      result:= OS_WINDOWS_SERVER_2008_R2_ENTERPRISE_V;
                    PRODUCT_ENTERPRISE_SERVER_CORE:
                      result:= OS_WINDOWS_SERVER_2008_R2_ENTERPRISE_CORE;
                    PRODUCT_ENTERPRISE_SERVER_CORE_V:
                      result:= OS_WINDOWS_SERVER_2008_R2_ENTERPRISE_CORE_V;
                    PRODUCT_ENTERPRISE_SERVER_IA64:
                      result:= OS_WINDOWS_SERVER_2008_R2_IA64;
                    PRODUCT_HOME_PREMIUM_SERVER:
                      result:= OS_WINDOWS_HOME_SERVER_2011;
                    PRODUCT_HOME_SERVER:
                      result:= OS_WINDOWS_STORAGE_SERVER_2008_R2_ESSENTIALS;
                  end; // case dwiGetProductInfo(OSV)
              end; // case OSV.wProductType
            2: // <-- Eight series
              begin
               // (When its time... )
              end;
          end; // case OSV.dwMinorVersion
      end; // case OSV.dwMajorVersion
   end; // else if OSV.dwPlatformId = VER_PLATFORM_WIN32_NT
end;
Man findet ja die komplette Aufstellung bis Win 95 zurück nicht mehr im MSDN. Ich habs auch nur über die Jahre immer mitgepflegt, heute nachträglich müsste man schon ganz schön suchen. Die N-Versionen werden ja auch größtenteils totgeschwiegen.
  Mit Zitat antworten Zitat
Benutzerbild von TERWI
TERWI

Registriert seit: 29. Mär 2008
Ort: D-49626
381 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Falscher Product Type in OSVersionInfoEx

  Alt 24. Dez 2012, 17:21
@Codehunter

Schon extrem genial - Bitte weiter so !
Für mich auf jeden Fall extrem hilfreich.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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:14 Uhr.
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