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);
}