Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Falscher Product Type in OSVersionInfoEx (https://www.delphipraxis.net/172012-falscher-product-type-osversioninfoex.html)

musicman56 11. Dez 2012 16:58

AW: Falscher Product Type in OSVersionInfoEx
 
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.

Assarbad 11. Dez 2012 17:50

AW: Falscher Product Type in OSVersionInfoEx
 
Zitat:

Zitat von musicman56 (Beitrag 1195097)
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.

Zitat:

Zitat von musicman56 (Beitrag 1195097)
Aber vielleicht muss man wirklich mal auf die Schnauze fallen.

Vermutlich ... und leider :zwinker:
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.

Codehunter 13. Dez 2012 14:01

AW: Falscher Product Type in OSVersionInfoEx
 
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.

TERWI 24. Dez 2012 16:21

AW: Falscher Product Type in OSVersionInfoEx
 
@Codehunter

Schon extrem genial - Bitte weiter so !
Für mich auf jeden Fall extrem hilfreich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:42 Uhr.
Seite 2 von 2     12   

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