以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  WinAPI: GetSystemInfo - 获取系统信息  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=87468)


--  作者:葛靖青001
--  发布时间:11/4/2010 4:45:00 PM

--  WinAPI: GetSystemInfo - 获取系统信息
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;



W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
31.250ms