如何调用Inno Setup iss文件中的GetNativeSystemInfo?

问题描述 投票:0回答:1

我想在Inno Setup iss文件中调用Windows API:

GetNativeSystemInfo
,所以我不必调用外部DLL来检测ARM处理器架构
但我不知道如何添加...

有人可以告诉我如何在 Inno Setup 脚本中导入和使用该功能吗?

winapi installation inno-setup pascalscript
1个回答
1
投票

API声明:

type
  TSystemInfo = record
    wProcessorArchitecture: Word;
    wReserved: Word;
    dwPageSize: DWORD;
    lpMinimumApplicationAddress: Cardinal;
    lpMaximumApplicationAddress: Cardinal;
    dwActiveProcessorMask: DWORD_PTR;
    dwNumberOfProcessors: DWORD;
    dwProcessorType: DWORD;
    dwAllocationGranularity: DWORD;
    wProcessorLevel: Word;
    wProcessorRevision: Word;
  end;

const
  PROCESSOR_ARCHITECTURE_INTEL            = 0;
  PROCESSOR_ARCHITECTURE_MIPS             = 1;
  PROCESSOR_ARCHITECTURE_ALPHA            = 2;
  PROCESSOR_ARCHITECTURE_PPC              = 3;
  PROCESSOR_ARCHITECTURE_SHX              = 4;
  PROCESSOR_ARCHITECTURE_ARM              = 5;
  PROCESSOR_ARCHITECTURE_IA64             = 6;
  PROCESSOR_ARCHITECTURE_ALPHA64          = 7;
  PROCESSOR_ARCHITECTURE_MSIL             = 8;
  PROCESSOR_ARCHITECTURE_AMD64            = 9;
  PROCESSOR_ARCHITECTURE_IA32_ON_WIN64    = 10;

procedure GetNativeSystemInfo(var lpSystemInformation: TSystemInfo);
  external '[email protected] stdcall';

并使用:

var
  SystemInfo: TSystemInfo;
begin
  GetNativeSystemInfo(SystemInfo);
  if SystemInfo.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_ARM then
  begin
    // ...
  end;
end;
© www.soinside.com 2019 - 2024. All rights reserved.