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
Antwort Antwort
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
creed steiger

Registriert seit: 2. Dez 2009
116 Beiträge
 
#2

AW: Windows XP <> Wine (Linux)

  Alt 3. Jul 2015, 22:07
How to detect wine kannst du dir mal ansehen:

http://wiki.winehq.org/DeveloperFaq#...4ea705ac02f350
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.680 Beiträge
 
Delphi 5 Professional
 
#3

AW: Windows XP <> Wine (Linux)

  Alt 3. Jul 2015, 22:10
Wie/Kann man Wine von XP unterscheiden?
Nicht über derlei Funktionen, weil die damit ermittelte Version von den Einstellungen im Wine abhängt, denn dort kann man definieren, welches Windows emuliert werden soll.

Aber es gibt andere Möglichkeiten. Ich glaube mich zu erinnern, dass es eine Reihe von Registry-Zweigen gab/gibt, die man eindeutig Wine zuordnen kann, weil sie nicht auf einem normalen Windows existieren. Meine Empfehlung lautet daher: nimm dir den Registry-Editor im Wine und schau mal durch, was du so findest.

[EDIT]
Dem roten Kasten ist wohl genau wie mir zu warm und die verlinkte Methode sieht auch noch besser aus als meine Empfehlung.
[/EDIT]

MfG Dalai

Geändert von Dalai ( 3. Jul 2015 um 22:13 Uhr)
  Mit Zitat antworten Zitat
redox
(Gast)

n/a Beiträge
 
#4

AW: Windows XP <> Wine (Linux)

  Alt 4. Jul 2015, 04:57
Danke!

https://pgolub.wordpress.com/2009/05...r-not-on-wine/
  Mit Zitat antworten Zitat
Antwort Antwort


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 01:04 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