C/C++获取CPU相关信息(非WMI)
话不多说,先看运行截图:
代码如下:
#include <iostream>
#include <string>
#include <windows.h>//存4个寄存器值
DWORD deax, debx, decx, dedx;
void initCpu(DWORD veax)
{__asm{mov eax, veaxcpuidmov deax, eaxmov debx, ebxmov decx, ecxmov dedx, edx}
}long getCpuFreq()
{int start, over;_asm{RDTSCmov start, eax}Sleep(50);_asm{RDTSCmov over, eax}return (over - start) / 50000;
}std::string getManufactureID()
{char manuID[25];memset(manuID, 0, sizeof(manuID));initCpu(0);memcpy(manuID + 0, &debx, 4); // copy to array memcpy(manuID + 4, &dedx, 4);memcpy(manuID + 8, &decx, 4);return manuID;
}std::string getCpuType()
{const DWORD id = 0x80000002; char cpuType[49];memset(cpuType, 0, sizeof(cpuType));for (DWORD t = 0; t < 3; t++){initCpu(id + t);memcpy(cpuType + 16 * t + 0, &deax, 4);memcpy(cpuType + 16 * t + 4, &debx, 4);memcpy(cpuType + 16 * t + 8, &decx, 4);memcpy(cpuType + 16 * t + 12, &dedx, 4);}return cpuType;
}void getCpuInfo(){std::cout << "CPU主频: " << getCpuFreq() << "MHz" << std::endl;std::cout << "CPU厂商: " << getManufactureID() << std::endl;std::cout << "CPU类型: " << getCpuType() << std::endl;
}void main(){getCpuInfo();system("pause");return;
}
C/C++获取CPU相关信息(非WMI)相关推荐
- muduo:获取进程相关信息
muduo里面有专门获取进程信息的类,记录一下. // Use of this source code is governed by a BSD-style license // that can b ...
- Qt开发中获取系统相关信息的方法,值得收藏参考
本文转自https://zhuanlan.zhihu.com/p/111005951,这篇写的很详细,但是macos相关的只有一部分太少了,基本都是Windows的,我个人后续也会把相关的系统调用方式 ...
- youtube根据vedioId获取视频相关信息
根据vedioId获取视频相关信息 https://www.googleapis.com/youtube/v3/videos?key=xxx&id=I6uBoYJxf4k&part=s ...
- Linux系统CPU相关信息查询
Linux系统CPU相关信息查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.lscpu常用参数介绍 1>.查看帮助信息 [root@node105 ~]# lscpu ...
- 7.3 Uipath UiPath之获取邮件相关信息
UiPath之获取邮件相关信息 UiPath之获取邮件相关信息 第一步:先看看GetOutLookMailMessage这个应该怎么设定 第二步:新建一个Execl Application Scope ...
- 金蝶EAS登录获取用户相关信息失败、EAS默认用户名、密码
1.sql2005,新装的EAS7.0服务器,新建一个帐套,都弄好了以后,客户端登陆的时候提示错误:获取用户相关信息失败! 日志里说该游标未声明 解决方法:在SQL SERVER执行alter ta ...
- 【C函数】sysinfo获取系统相关信息
Linux中,sysinfo是用来获取系统相关信息的结构体,返回系统的统计信息. 头文件: #include <sys/sysinfo.h> 函数声明: int sysinfo (stru ...
- adb 查看屏幕大小_adb shell wm 命令获取屏幕相关信息
adb shell wm命令获取屏幕相关信息 Tags: adb_shell wm命令在4.x才有的,不同的版本下部分参数不同 wm [subcommand] [options] 获取屏幕大小:wm ...
- c 获取计算机相关信息,C#编程获取各种电脑硬件信息的方法示例
本文实例讲述了C#编程获取各种电脑硬件信息的方法.分享给大家供大家参考,具体如下: 获取CPU编号: ManagementClass mc = new ManagementClass("Wi ...
最新文章
- 《javascript高级程序设计》笔记:原型图解
- Intel Realsense D435小车避障 摄像头在高于一定平面h时的深度map公式计算(深度d与视场角视角α的关系)
- WM中的OutLook开发和操作
- 【Codeforces - 378C】Maze(dfs,思维)
- Python图像处理库:Pillow 初级教程
- SpringData+JPA+mysql, cannot be null when ‘hibernate.dialect‘ not set
- AtomicInteger的CAS算法浅析
- 中国期货交易技术的逆袭之路
- 测试人员入门级的数据库知识(SQL语句)
- MTPA 永磁同步电机 计算
- windows安装pdf虚拟打印机
- 计算机专业该如何找实习工作?迷茫、不知所措的你值得一看~
- vue+axios上传文件的几种方式及步骤(以上传图片为例)
- 高数-导数的应用--函数凹凸性与拐点
- jsp学生体育成绩管理系统
- 为 TDesignBlazor 添加暗黑模式
- 单链表的基本操作----------头插法/尾插法建立链表
- 《液晶显示器和液晶电视维修核心教程》——第1章 液晶显示器维修概要1.1 液晶显示器的基本知识...
- LLVM学习日志2——PASS尝试
- 盘点那些《隐秘的角落》带来的影响