AGB  ·  Datenschutz  ·  Impressum  







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

Windows XP <> Wine (Linux)

Ein Thema von redox · begonnen am 3. Jul 2015 · letzter Beitrag vom 4. Jul 2015
 
redox
(Gast)

n/a Beiträge
 
#1

Windows XP <> Wine (Linux)

  Alt 3. Jul 2015, 21:54
Die function GetWindowsVersion4me(ShortInfo: Boolean): string;
liefert unter Win10 gerade:
"Windows 10 Pro Insider Preview (Version 6.3/Build 10162) 64-Bit"

und unter WinXP:
"Microsoft Windows XP (Version 5.1/Build 2600) 32-Bit"

aber leider auch unter Wine:
"Microsoft Windows XP (Version 5.1/Build 2600) 32-Bit"

Stimmt ja alles soweit, nur würde ich gerne unterscheiden können, ob jemand ein "uraltes" XP oder einfach "nur" Wine unter Linux verwendet.

Wie/Kann man Wine von XP unterscheiden?

Vielen Dank für's Lesen und Antworten.


Delphi-Quellcode:
function IsWow64: Boolean;
type
  TIsWow64Process = function(// Type of IsWow64Process API fn
    Handle: Windows.THandle; var Res: Windows.BOOL
    ): Windows.BOOL; stdcall;
var
  IsWow64Result: Windows.BOOL; // Result from IsWow64Process
  IsWow64Process: TIsWow64Process; // IsWow64Process fn reference
begin
  // Try to load required function from kernel32
  IsWow64Process := Windows.GetProcAddress(
    Windows.GetModuleHandle('kernel32.dll'), 'IsWow64Process'
    );
  if Assigned(IsWow64Process) then
  begin
    // Function is implemented: call it
    if not IsWow64Process(
      Windows.GetCurrentProcess, IsWow64Result
      ) then
      raise SysUtils.Exception.Create('IsWow64: bad process handle');
    // Return result of function
    Result := IsWow64Result;
  end
  else
    // Function not implemented: can't be running on Wow64
    Result := False;
end;


function Get3264Windows: string;
begin
  result := '32-Bit';
  if IsWow64 then result := '64-Bit';
end;

function GetWindowsVersion4me(ShortInfo: Boolean): string;
var
  VerInfo: TOsversionInfo;
  PlatformId, VersionNumber, BuildNumber: string;
  Reg: TRegistry;
begin
  VerInfo.dwOSVersionInfoSize := SizeOf(VerInfo);
  GetVersionEx(VerInfo);
  Reg := TRegistry.Create;
  Reg.RootKey := HKEY_LOCAL_MACHINE;
  case VerInfo.dwPlatformId of
    VER_PLATFORM_WIN32s:
      begin
        PlatformId := 'Windows 3.1';
      end;
    VER_PLATFORM_WIN32_WINDOWS:
      begin
        Reg.OpenKeyReadOnly('\SOFTWARE\Microsoft\Windows\CurrentVersion');
        PlatformId := Reg.ReadString('ProductName');
        VersionNumber := Reg.ReadString('VersionNumber');
        BuildNumber := Reg.ReadString('CurrentBuildNumber');
      end;
    VER_PLATFORM_WIN32_NT:
      begin
        Reg.OpenKeyReadOnly('\SOFTWARE\Microsoft\Windows NT\CurrentVersion');
        PlatformId := Reg.ReadString('ProductName');
        VersionNumber := Reg.ReadString('CurrentVersion');
        BuildNumber := Reg.ReadString('CurrentBuildNumber');
      end;
  end;
  Reg.Free;
  if shortinfo then
    Result := '(' + VersionNumber + '/' + BuildNumber + ')'
  else
    Result := PlatformId + ' (Version ' + VersionNumber + '/Build ' + BuildNumber
      + ')';
  Result := Result + #32 + Get3264Windows;
end;
  Mit Zitat antworten Zitat
 


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 09:50 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