MFC获取CPU信息并把它们展示在静态文本

void CGetInfoDlg::GetCPUInfo()
{
    // TODO: 在此处添加实现代码.
    HKEY hKey;
    LPCTSTR subKey = _T("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");
    if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, subKey, 0, KEY_READ, &hKey) == ERROR_SUCCESS)
    {
        TCHAR cpuName[MAX_PATH], cpuPublisher[MAX_PATH], identifier[MAX_PATH];
        DWORD cpuSpeed = 0;
        DWORD valueSize = MAX_PATH;
        if (RegQueryValueExW(hKey, _T("ProcessorNameString"), NULL, NULL, (LPBYTE)cpuName, &valueSize) == ERROR_SUCCESS)
        {
            CString strcpuName(cpuName);
            CString cpuname(_T("CPU名称:"));
            m_cpuName.SetWindowTextW(cpuname + strcpuName);
        }
        valueSize = MAX_PATH;
        if (RegQueryValueExW(hKey, _T("~MHZ"), NULL, NULL, (LPBYTE)&cpuSpeed, &valueSize) == ERROR_SUCCESS)
        {
            CString strcpuSpeed;
            strcpuSpeed.Format(_T("%lu"), cpuSpeed);
            CString cpuspeed(_T("CPU速度:"));
            m_cpuSpeed.SetWindowTextW(cpuspeed + strcpuSpeed);
        }
        valueSize = MAX_PATH;
        if (RegQueryValueExW(hKey, _T("VendorIdentifier"), NULL, NULL, (LPBYTE)cpuPublisher, &valueSize) == ERROR_SUCCESS)
        {
            CString strcpuPublisher(cpuPublisher);
            CString cpupublisher(_T("CPU生产厂商:"));
            m_cpuPublisher.SetWindowTextW(cpupublisher + strcpuPublisher);
        }
        valueSize = MAX_PATH;
        if (RegQueryValueExW(hKey, _T("Identifier"), NULL, NULL, (LPBYTE)identifier, &valueSize) == ERROR_SUCCESS)
        {
            CString strIdentifier(identifier);
            CString Identifier(_T("用户编程名:"));
            m_identifier.SetWindowTextW(Identifier + strIdentifier);
        }
        RegCloseKey(hKey);
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值