原理:通过注册表 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion下值项的值来获取相关信息
#include <atlstr.h> // 使用CString类
#include <windows.h>
#include <iostream>
using namespace std;
// 用于判断是否是64位系统,是则返回true,反则false
bool On64BitSystem()
{
SYSTEM_INFO sys;
GetNativeSystemInfo(&sys);
if (sys.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_AMD64 ||
sys.wProcessorArchitecture == PROCESSOR_ARCHITECTURE_IA64)
return true;
else
return false;
}
// 默认返回系统名称,需要的话可以自己修改,也可以用指针作为参数来传出多个值
CString GetSysEdition()
{
HKEY hKey;
DWORD dwSize = 50;
LPBYTE lpProductName = new BYTE[dwSize]; // 存储系统名称
LPBYTE lpEditionID = new BYTE[dwSize]; // 存储版本ID
DWORD dwDataType = REG_SZ;
LPCTSTR subKey = _T("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion");
long errorCode;
if (On64BitSy