(wenn Lazarus da keine möglichkeiten bietet würde ich mal http://msdn.microsoft.com/en-us/library ... S.85).aspx ausprobieren)
habe da jetzt folgendes gefunden:
Code: Alles auswählen
{Quelle: http://www.delphipraxis.net/118485-ermitteln-ob-32-bit-oder-64-bit-betriebssystem.html" onclick="window.open(this.href);return false;
24.08.11 18 Uhr}
function IsWindows64: 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( // in dieser Zeile ist der Fehler!
Windows.GetModuleHandle('kernel32'), 'IsWow64Process'
);
if Assigned(IsWow64Process) then
begin
// Function is implemented: call it
if not IsWow64Process(
Windows.GetCurrentProcess, IsWow64Result
) then
raise SysUtils.Exception.Create('IsWindows64: bad process handle');
// Return result of function
Result := IsWow64Result;
end
else
// Function not implemented: can't be running on Wow64
Result := False;
end;
Code: Alles auswählen
ugetwinversion.pas(169,21) Error: Incompatible types: got "Pointer" expected "<procedure variable type of function(LongWord,var LongBool):LongBool;StdCall>"