mfc 获取CPU名称、内核数目、主频

WTL嵌入式开发实战:Windows CE轻量UI设计与优化 WTL(Windows Template Library)是一种基于ATL的C++模板库,专为直接操控Win32 API而生,其核心原理是将运行时开销转移至编译期,通过静态消息映射、零虚函数调用和无运行时依赖实现极致轻量。在资源受限环境如Windows CE系统中,WTL展现出远超MFC和.NET Compact Framework的内存效率、启动速度与实时响应能力,尤其适用于工业HMI、医疗PDA、车载终端等对确定性性能有严苛要求的嵌入式UI场景。本文深入解析WTL在CE 5.0平台下的工程落地路径,涵盖 阅读详情
void CGetSysInfo::GetCpuInfo(CString &chProcessorName,CString &chProcessorType,DWORD &dwNum,DWORD &dwMaxClockSpeed)
{
	CString strPath=_T("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0");//注册表子键路径  
	CRegKey regkey;//定义注册表类对象  
	LONG lResult;//LONG型变量-反应结果  
	lResult=regkey.Open(HKEY_LOCAL_MACHINE,LPCTSTR(strPath),KEY_ALL_ACCESS); //打开注册表键  
	if (lResult!=ERROR_SUCCESS)  
	{  
		return;  
	}  
	WCHAR chCPUName[50] = {0};  
	DWORD dwSize=50;   

	//获取ProcessorNameString字段值  
	if (ERROR_SUCCESS == regkey.QueryStringValue(_T("ProcessorNameString"),chCPUName,&dwSize))  
	{  
		chProcessorName = chCPUName;  
	}  

	//查询CPU主频  
	DWORD dwValue;  
	if (ERROR_SUCCESS == regkey.QueryDWORDValue(_T("~MHz"),dwValue))  
	{  
		dwMaxClockSpeed = dwValue;  
	}  
	regkey.Close();//关闭注册表  
	//UpdateData(FALSE);  

	//获取CPU核心数目  
	SYSTEM_INFO si;  
	memset(&si,0,sizeof(SYSTEM_INFO));  
	GetSystemInfo(&si);  
	dwNum = si.dwNumberOfProcessors;  

	switch (si.dwProcessorType)  
	{  
	case PROCESSOR_INTEL_386:  
		{  
			chProcessorType.Format(_T("Intel 386 processor"));  
		}  
		break;  
	case PROCESSOR_INTEL_486:  
		{  
			chProcessorType.Format(_T("Intel 486 Processor"));  
		}  
		break;  
	case PROCESSOR_INTEL_PENTIUM:  
		{  
			chProcessorType.Format(_T("Intel Pentium Processor"));  
		}  
		break;  
	case PROCESSOR_INTEL_IA64:  
		{  
			chProcessorType.Format(_T("Intel IA64 Processor"));  
		}  
		break;  
	case PROCESSOR_AMD_X8664:  
		{  
			chProcessorType.Format(_T("AMD X8664 Processor"));  
		}  
		break;  
	default:  
		chProcessorType.Format(_T("未知"));  
		break;  
	}
}

VS 2019 MFC 通过WMI技术读取计算机CPU序列号,硬盘序列号,BIOS序列号,主板序列号,系统名称以及网卡MAC地址 经行了简单的封装,江功能全部封装到了类文件。 封装类文件H头文件 #ifndef _H_GETSYSTEMHARDWAREID #define _H_GETSYSTEMHARDWAREID #include"targetver.h" #include<wbemcli.h> #include<string.h> #include <iostream> #include <Windows.h> #include <comdef.h... 阅读详情

相关推荐

MFC实现获取电脑CPU核心数、显卡型号和内存大小等硬件信息的功能

MFC实现获取电脑CPU核心数、显卡型号和内存大小等硬件信息的功能

希望我的博客,能帮上你解决学习中工作中所遇到的问题 878

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

CString cpupublisher(_T("CPU生产厂商:"));CString Identifier(_T("用户编程名:"));CString cpuspeed(_T("CPU速度:"));CString cpuname(_T("CPU名称:"));// TODO: 在此处添加实现代码.

weixin_50698559的博客 487

【信息科学与工程学】【产品体系】计算机科学与自动化——第一百八十九篇 操作系统内核(微内核/宏内核)函数与算法02

宏内核(Linux)更多典型内核函数/算法,从编号271开始,覆盖中断管理、热插拔、PCI、ACPI、固件、崩溃转储、kexec、休眠、watchdog、RTC、hwmon、LED、backlight、input子系统、remoteproc等更多领域。编号类型领域内核类型内核中的函数/算法/模块/模组模块的调用关系模块/函数/算法逐步推理思考的数学表达式及参数列表及参数数值设计模块的C/C++/其他代码关联知识271中断管理中断描述符宏内核 / (中断子系统核心)驱动申请中断 → → → 分配irq_

weixin_49199313的博客 113

C/C++通过WMI和系统API函数获取获取系统硬件配置信息(转)

前段时间由于项目需要,要求做一个服务器的实时性能监控(CPU、内存、网络利用率等)和读取服务器的硬件配置参数的接口供项目组使用,就是一个类似于鲁大师之类的东东吧... 当然第一想法肯定是利用Windows提供的系统标准API函数来完成所需的功能,当然这也应该是当前最理想最有效率的选择了。但是如果你对API编程不是很熟练的话...那就相当蛋疼了!你知道用API可以做到但是不知道...

weixin_30679823的博客 174

VC6.0下MFC对系统信息及硬件信息的读取

VC6.0下MFC对系统信息及硬件信息的读取

C++获取电脑CPU序列号及硬盘序列号

C++获取电脑CPU序列号及硬盘序列号,采用C++MFC开发的一个小功能,用于生成设备号。

获取CPU序列号

//1.获取CPU序列号代码 static string GetCpuID() { try { string cpuInfo = "";//cpu序列号 ManagementClass mc = new ManagementClass("Win32_Processor"); ManagementObjectCollection moc = mc.GetInstances(); ...

痞子杨 1736

获取本机CPU、硬盘、内存信息的MFC程序

自己写的程序,适合初学者 网上硬件检测实现的方法很多,但没找到符合要求的程序,我这个是最简单的。 VC++获取获取本机CPU、硬盘、内存信息的程序。 打开release文件夹里的可执行文件。 如果不能编译,可能是你少了头文件,或者请把提示错误的源文件从source目录中删除后再试。

MFC 读写注册表

创建或打开注册表项: 使用 或 方法来创建或打开一个注册表项。写入值: 使用 , , 等方法来写入不同类型的值。关闭注册表项: 使用 方法关闭注册表项。打开注册表项: 使用 方法打开一个注册表项。读取值: 使用 , , 等方法来读取不同类型的值。关闭注册表项: 使用 方法关闭注册表项。以下是一个简单的示例,展示了如何在MFC中读写注册表: 在这个示例中:请记住,当你在读写注册表时,特别是在 和其他系统级别的键时,你可能需要管理员权限。同时,错误处理非常重要,以确保你的应用在遇到无法访问或不存在的

chenhao0568的专栏 1791

visual C++ 获取CPU 信息

visual C++ 获取CPU 信息,包括CPU ID号,CUP制造商,主频等。

C++使用MFC获取PC硬件配置信息

主要为大家详细介绍了C++使用MFC获取PC硬件配置信息,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

获取CPUID序列号的两种办法

    Win32k 平台上,获取CPUID的办法主要有两种,一种是利用 WMI 另一种是利用 x86 汇编的 cpuid 指令,而最快的办法就是通过汇编了,而且 WMI 与汇编之间效率上的差距的确有点让人难以忍受,WMI 获取 CPUID 的效率几乎接近了一秒钟,而利用 cpuid 指令的办法,大概是几个 us 时间的问题,这种令人咋舌的巨大差异,让人有些难以忍受。using System; u...

liulilittle的博客 3万+

告别F5失灵!手把手教你为Cursor配置.Net Core控制台项目专属调试环境

本文详细指导如何在Cursor编辑器中为.Net Core控制台项目配置专属调试环境,解决F5失灵等常见问题。从调试器选择到launch.json配置,再到高级调试技巧,帮助开发者高效搭建完整的调试工具链,提升开发效率。

weixin_28834765的博客 287

MFC注册表操作

注册表简介 有时程序中要存些设置信息,一个方法就是创建一些普通的txt或xml文件,然后保存进去就行了.另一办法就是保存到注册表里.注册表是由windows维护的一个小数据库.里面也会保存windows本身的很多配置信息. 我们在命令行通过regedit可以手动打开注册表查看相关信息.在页面上我们会看到左边有很多树形结构的内容,我们可以简单的把它等同于目录.最顶端的5个根键所包括的内容分别是 ...

weiwenhp 1万+

CODESYS连接触摸屏

触摸屏:威纶通-MT8071iP(网络IP:192.168.1.10) 控制器:研华AMAX-5580(PAC)(Win10系统,网络IP:192.168.1.3) CODESYS RTE:RTE 64 V3.5 SP13 Build05 笔记本:Thinkpad L14(网络IP:192.168.1.2) CODESYS IDE:V3.5 SP13(ADD ON V3.5.13.5) 一、确认网络通讯正常(关闭防火墙) 笔记本与触摸屏网络测试情况 笔记本与控制器网络测试情况 二、控制器部分 1、新建

Leo的博客 1万+

AIAgent知识表示与推理:基于本体论与规则引擎的实现

AIAgent知识表示与推理:基于本体论与规则引擎的实现 1. 背景介绍 人工智能(AI)系统的核心是知识表示和推理,这是实现智能行为的基础。在过去的几十年里,人工智能领域一直致力于研究如何有效地表示和推理知识,以支持智能系统的决策和行为。其中,基于本体论的知识表示和

AI天才研究院 1497

VC/MFC 编程经验总结

VC/MFC 编程经验总结1URL:http://expert.youkuaiyun.com/Expert/topic/2398/2398212.xml?temp=.3510706|  在VC的使用过程中,每个人或多或少都会遇到一些麻烦,而这些问题可能其他人也同样遇到过,或许还没能解决。当你发现问题根结所在时,兴奋之余,欢迎你告诉他人同类问题的解决之道。   大家如果有新的发现,请把你的编程经验收藏在这个帖子

Junelf's BLOG 3236

基于STM32的工业I/O模块硬件电路实现

深入解析基于STM32的工业I/O模块硬件电路实现,涵盖关键电路设计与信号处理,突出硬件电路稳定性和工业级可靠性,适合嵌入式开发者参考。

weixin_35835018的博客 456

VS2013/MFC 自绘控件获取系统CPU和物理内存使用率

一、CHistogramCtrl类介绍 这是CodeProject网站的一个优秀的类,能够在静态文本控件上实现曲线图的绘制,源代码网址如下:CHistogramCtrl, a windows 2000 like histogram control。源代码放到VS2013环境中只需要做一点修改就可以使用。这个类的具体代码如下: HistogramCtrl.h #if !defined(AFX_HISTOGRAMCTRL_H_H) #define AFX_HISTOGRAMCTRL_H_H #if _

CAE万事屋 1476

用UDP协议在dos命令行里模拟一个聊天程序

/* 需求: 在dos命令行里模拟一个聊天程序 有收数据的部分,和发数据的部分,这两部分需要同时执行。 那就需要用到多线程技术。 一个线程控制收,一个线程控制发。 */ import java.io.*; import java.net.*; class C

s_x_x的记录 1956

DPABISurf使用教材

严老师的官方教程:http://rfmri.org/Course DPABISurf版本:dpabi50docker.tar.gz MATLAB版本:2018b 一、数据准备 (1)如果是数据的DICOM格式,整理成以下格式(注意文件夹的命名方式): 如果觉得不是很清楚,可以在官网下载Demo数据(http://rfmri.org/DemoData),参照里面的文件格式进行整理即可。 (2)如果数据是nii格式,整理成以下格式: 这里没有使用官网的demo数据进行学习,而是..

从事脑科学核磁共振方法学研究,在Nature communications等权威期刊发表研究论文,熟练掌握磁共振处理方法和统计学方法,欢迎大家和我交流。 8521

获取当前进程的CPU使用率和内存使用

CPU使用率: int GetProcessInfo::GetProcessNumber() { SYSTEM_INFO info; GetSystemInfo(&info); return (int)info.dwNumberOfProcessors; }

sheila_1988的博客 1万+

Python 爬虫实战:爬取微博热搜与用户评论数据

本文系统讲解微博热搜榜单与用户评论数据的爬取技术方案。针对微博热搜榜采用Requests+BeautifulSoup解析静态HTML结构,实现高效爬取;对于动态加载的评论数据,使用Selenium模拟浏览器行为规避反爬机制。详细阐述技术选型、反爬策略、数据清洗及存储方法,提供完整代码实现和输出示例。同时强调合规要求,提示开发者需在遵守平台规则的前提下进行数据采集。该方案为舆情分析和热点研究提供了可落地的技术实现路径。

2503_91057718的博客 1718
上一篇: mfc 获取物理内存和虚拟内存
下一篇: mfc 获取C盘信息
RuningPigNO1
博客等级 码龄10年 22粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RuningPigNO1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值