//声明:
GetSystemInfo(
  var lpSystemInfo: TSystemInfo {}
);

//TSystemInfo 是 _SYSTEM_INFO 结构的重定义:
_SYSTEM_INFO = record
  case Integer of
    0: (
      dwOemId: DWORD); {返回计算机标识符, 已废弃}
    1: (
      wProcessorArchitecture: Word;        {处理器的体系结构}
      wReserved: Word;                     {保留}
      dwPageSize: DWORD;                   {分页大小}
      lpMinimumApplicationAddress: Pointer;{最小寻址空间}
      lpMaximumApplicationAddress: Pointer;{最大寻址空间}
      dwActiveProcessorMask: DWORD;        {处理器掩码; 0..31 表示不同的处理器}
      dwNumberOfProcessors: DWORD;         {处理器数目}
      dwProcessorType: DWORD;              {处理器类型}
      dwAllocationGranularity: DWORD;      {虚拟内存空间的粒度}
      wProcessorLevel: Word;               {处理器等级}
      wProcessorRevision: Word);           {处理器版本}
end;

//举例:
procedure TForm1.FormCreate(Sender: TObject);
var
  SI: TSystemInfo;
begin
  GetSystemInfo(SI);
  Memo1.Clear;
  with Memo1.Lines do
  begin
    Add(Format('OEMID:' + #9#9 + '%d', [SI.dwOemId]));
    Add(Format('处理器体系结构:' + #9 + '%d', [SI.wProcessorArchitecture]));
    Add(Format('分页大小:' + #9 + '%d', [SI.dwPageSize]));
    Add(Format('最小寻址空间:' + #9 + '%d', [Integer(SI.lpMinimumApplicationAddress)]));
    Add(Format('最大寻址空间:' + #9 + '%d', [Integer(SI.lpMaximumApplicationAddress)]));
    Add(Format('处理器掩码:' + #9 + '%d', [SI.dwActiveProcessorMask]));
    Add(Format('处理器数目:' + #9 + '%d', [SI.dwNumberOfProcessors]));
    Add(Format('处理器类型:' + #9 + '%d', [SI.dwProcessorType]));
    Add(Format('虚拟内存粒度:' + #9 + '%d', [SI.dwAllocationGranularity]));
    Add(Format('处理器等级:' + #9 + '%d', [SI.wProcessorLevel]));
    Add(Format('处理器版本:' + #9 + '%d', [SI.wProcessorRevision]));
  end;
end;

//效果图:

posted on 2008-02-11 10:11  万一  阅读(6345)  评论(1编辑  收藏  举报