【问题标题】:How to call the GetNativeSystemInfo at Inno Setup iss file?如何在 Inno Setup iss 文件中调用 GetNativeSystemInfo?
【发布时间】:2017-08-24 03:27:09
【问题描述】:

我想在 Inno Setup iss 文件中调用 windows API:GetNativeSystemInfo,所以我不必call an external DLL to detect ARM processor architecture
但是不知道怎么加...

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

谢谢!

【问题讨论】:

    标签: winapi installation inno-setup pascalscript


    【解决方案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 'GetNativeSystemInfo@Kernel32.dll stdcall';
    

    并使用:

    var
      SystemInfo: TSystemInfo;
    begin
      GetNativeSystemInfo(SystemInfo);
      if SystemInfo.wProcessorArchitecture = PROCESSOR_ARCHITECTURE_ARM then
      begin
        { ... }
      end;
    end;
    

    【讨论】:

      猜你喜欢
      • 2019-04-18
      • 2018-01-29
      • 1970-01-01
      • 1970-01-01
      • 2012-11-16
      • 2011-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多