现在的位置: 首页 > 综合 > 正文

GetSystemInfo系统信息

2013年09月16日 ⁄ 综合 ⁄ 共 1744字 ⁄ 字号 评论关闭

VOID GetSystemInfo(
  LPSYSTEM_INFO lpSystemInfo
);

SYSTEM_INFO结构包含有关当前计算机系统的信息。包括处理器类型,页面大小,内存地址,和OEM标识符。

typedef struct _SYSTEM_INFO {
  union {
  DWORD dwOemId;        OemId过时的,不使用
  struct {
    WORD wProcessorArchitecture;    处理器架构
    WORD wReserved;
  };
};
  DWORD dwPageSize;        页面大小
  LPVOID lpMinimumApplicationAddress;   应用程序最小地址
  LPVOID lpMaximumApplicationAddress;   应用程序最大地址
  DWORD dwActiveProcessorMask;     处理器掩码
  DWORD dwNumberOfProcessors;     处理器数量
  DWORD dwProcessorType;      处理器类型
  DWORD dwAllocationGranularity;    虚拟内存分配粒度
  WORD wProcessorLevel;       处理器级别
  WORD wProcessorRevision;      处理器版本
} SYSTEM_INFO, *LPSYSTEM_INFO;

示例代码:

void CTestDlg::GetSysInfo()
{
 SYSTEM_INFO  sysInfo;

 GetSystemInfo(&sysInfo);

 CString strInfo = "系统信息:\r\n";
 CString strTemp = "";
 // OemId
 strTemp.Format("OemId : %u.\r\n", sysInfo.dwOemId);
 strInfo += strTemp;
 // 处理器架构
 strTemp.Format("处理器架构 : %u.\r\n", sysInfo.wProcessorArchitecture);
 strInfo += strTemp;
 // 页面大小
 strTemp.Format("页面大小 : %u.\r\n", sysInfo.dwPageSize);
 strInfo += strTemp;
 // 应用程序最小地址
 strTemp.Format("应用程序最小地址 : %u.\r\n", sysInfo.lpMinimumApplicationAddress);
 strInfo += strTemp;
 // 应用程序最大地址
 strTemp.Format("应用程序最大地址 : %u.\r\n", sysInfo.lpMaximumApplicationAddress);
 strInfo += strTemp;
 // 处理器掩码
 strTemp.Format("处理器掩码 : %u.\r\n", sysInfo.dwActiveProcessorMask);
 strInfo += strTemp;
 // 处理器数量
 strTemp.Format("处理器数量 : %u.\r\n", sysInfo.dwNumberOfProcessors);
 strInfo += strTemp;
 // 处理器类型
 strTemp.Format("处理器类型 : %u.\r\n", sysInfo.dwProcessorType);
 strInfo += strTemp;
 // 虚拟内存分配粒度
 strTemp.Format("虚拟内存分配粒度 : %u.\r\n", sysInfo.dwAllocationGranularity);
 strInfo += strTemp;
 // 处理器级别
 strTemp.Format("处理器级别 : %u.\r\n", sysInfo.wProcessorLevel);
 strInfo += strTemp;
 // 处理器版本
 strTemp.Format("处理器版本 : %u.\r\n", sysInfo.wProcessorRevision);
 strInfo += strTemp;

 m_staticSysInfo.SetWindowText(strInfo);
}

运行结果:

抱歉!评论已关闭.