Pagina1 van 1
Forum

Welkom bij de Tweaking4All gemeenschapsforums!
Voor je gaat deelnemen, bekijk de Forum Regels!

Specifieke onderwerpen: Start het onderwerp met de naam van het programma of systeem.
Bijvoorbeeld “MacOS X – Jouw vraag“, of bijvoorbeeld “MS Word – Jouw Tip of Truc“.

Merk op: Omschakelen naar een andere taal zal niet werken als je een post aan het lezen bent aangezien er waarschijnlijk geen vertaling beschikbaar is.



Deel:
Meldingen
Alles wissen

[Opgelost] Lazarus - Windows - Detecteer 64bit Windows in een 32bit applicatie

1 Berichten
1 Gebruikers
0 Reactions
1,721 Bekeken
 Hans
(@hans)
Famed Member Admin
Deelgenomen: 12 jaar geleden
Berichten: 2864
Topic starter  

Deze functie ("windows" aan de "uses" clausule toevoegen) bepaald of je op een 64bit Windows draait, ook al is jouw applicatie 32bit;

function t4a_Is64BitWindows: boolean;
{$IFDEF WIN32}
type
  TIsWow64Process = function(Handle: Windows.THandle; var Res: Windows.BOOL): Windows.BOOL; stdcall;
var
  IsWOW64: Windows.BOOL;
  IsWOW64Process: TIsWow64Process;
{$ENDIF}
begin
{$IFDEF WIN32}
  // Try to load required function from kernel32
  IsWOW64Process := TIsWow64Process(Windows.GetProcAddress(Windows.GetModuleHandle('kernel32'), 'IsWow64Process'));
  if Assigned(IsWOW64Process) then
    begin
      // Function exists
      if not IsWOW64Process(Windows.GetCurrentProcess, IsWOW64) then
        Result:=False
      else
        Result:=IsWOW64;
    end
  else
    // Function not implemented: can't be running on Wow64
    Result := False;
{$ELSE} //if were running 64bit code, OS must be 64bit :)
   Result := True;
{$ENDIF}
end;    

   
BeantwoordenCiteren
Deel: