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);
}
運行結果: