DELPHI判断是否64位操作系统

function IsWin64: Boolean;

var

Kernel32Handle: THandle;

IsWow64Process: function(Handle: Windows.THandle; var Res: Windows.BOOL): Windows.BOOL;

stdcall;

GetNativeSystemInfo :

procedure(var lpSystemInfo: TSystemInfo); stdcall; isWoW64 :BOOL;SystemInfo : TSystemInfo;

const

PROCESSOR_ARCHITECTURE_AMD64 = 9;

PROCESSOR_ARCHITECTURE_IA64 = 6;

begin

Kernel32Handle := GetModuleHandle('KERNEL32.DLL');

if Kernel32Handle = 0 then

Kernel32Handle := LoadLibrary('KERNEL32.DLL');

if Kernel32Handle <> 0 then

begin

IsWow64Process := GetProcAddress(Kernel32Handle, 'IsWow64Process');

GetNativeSystemInfo := GetProcAddress(Kernel32Handle, 'GetNativeSystemInfo');

if Assigned(IsWow64Process) then

begin

IsWow64Process(GetCurrentProcess, isWoW64);

Result := isWoW64 and Assigned(GetNativeSystemInfo);

if Result then

begin

GetNativeSystemInfo(SystemInfo);

Result := (SystemInfo.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_AMD64) or (SystemInfo.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_IA64);

end;

end

else

Result := False;

end

else

Result := False;

end;