Win查询注册表获取CPU与内存参数
#include "stdafx.h"
void
dump_machine_info(
HANDLE fh
)
{
CHAR Str[MAX_PATH*3];
CHAR MHzStr[64];
CHAR CpuId[MAX_PATH];
CHAR VendorId[MAX_PATH];
TCHAR RegPath[MAX_PATH];
ULONG i;
HKEY hKey;
ULONG MHz;
DWORD t;
ULONG l;
MEMORYSTATUS ms ; for(i=0; i<128; i++) {
wsprintf(RegPath, _T("HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\%u"), i);
if(RegOpenKey(HKEY_LOCAL_MACHINE, RegPath, &hKey) != ERROR_SUCCESS) {
break;
}
// MHz
l = sizeof(ULONG);
if(RegQueryValueEx(hKey, _T("~MHz"), NULL, &t, (PUCHAR)&MHz, &l) != ERROR_SUCCESS) {
sprintf(MHzStr, "?");
} else {
sprintf(MHzStr, "%u", MHz);
}
// CPU Type
l = MAX_PATH-1;
if(RegQueryValueEx(hKey,_T( "Identifier"), NULL, &t, (PUCHAR)CpuId, &l) != ERROR_SUCCESS) {
sprintf(CpuId, "Unknown type");
} else {
CpuId[MAX_PATH-1] = 0;
}
// CPU Vendor
l = MAX_PATH-1;
if(RegQueryValueEx(hKey, _T("VendorIdentifier"), NULL, &t, (PUCHAR)VendorId, &l) != ERROR_SUCCESS) {
sprintf(CpuId, "Unknown vendor");
} else {
VendorId[MAX_PATH-1] = 0;
}
l = sprintf(Str, "CPU-%u: %s, %s, %s MHz\n", i, CpuId, VendorId, MHzStr);
// TeeOutput(fh, Str, l);
printf(Str);
RegCloseKey(hKey);
}
ms.dwLength = sizeof (ms) ;
GlobalMemoryStatus (&ms) ;
l = sprintf(Str, "Memory: %u Mb physical, %u Mb virtual\n", (ms.dwTotalPhys)/(1024*1024)+1, (ms.dwTotalVirtual)/(1024*1024)+1);
//TeeOutput(fh, Str, l);
printf(Str);
} // end dump_machine_info() int wmain()
{
dump_machine_info(NULL);
return 0;
}
CPU-0: x, G, 2527 MHz
CPU-1: x, G, 2527 MHz
CPU-2: x, G, 2527 MHz
CPU-3: x, G, 2527 MHz
Memory: 1909 Mb physical, 2048 Mb virtual
Win查询注册表获取CPU与内存参数的更多相关文章
- C# 系统应用之通过注册表获取USB使用记录(一)
该文章是“个人电脑历史记录清除软件”项目的系统应用系列文章.前面已经讲述了如何清除IE浏览器的历史记录.获取Windows最近访问文件记录.清除回收站等功能.现在我需要完成的是删除USB设备上的U盘. ...
- Linux下使用java获取cpu、内存使用率
原文地址:http://www.voidcn.com/article/p-yehrvmep-uo.html 思路如下:Linux系统中可以用top命令查看进程使用CPU和内存情况,通过Runtime类 ...
- 方法:Linux 下用JAVA获取CPU、内存、磁盘的系统资源信息
CPU使用率: InputStream is = null; InputStreamReader isr = null; BufferedReader brStat = null; StringTok ...
- Android获取cpu和内存信息、网址的代码
android获取手机cpu并判断是单核还是多核 /** * Gets the number of cores available in this device, across all proce ...
- Python获取CPU、内存使用率以及网络使用状态代码
Python获取CPU.内存使用率以及网络使用状态代码_python_脚本之家 http://www.jb51.net/article/134714.htm
- Golang获取CPU、内存、硬盘使用率
Golang获取CPU.内存.硬盘使用率 工具包 go get github.com/shirou/gopsutil 实现 func GetCpuPercent() float64 { percent ...
- Java 获取CPU、内存、外网IP等硬件信息
import java.io.BufferedReader; import java.io.File; import java.io.IOException; import java.io.Input ...
- C#根据字体名通过注册表获取该字体文件路径(win10)两种方法推荐第二种
方法一: 直接先上源码: private System.Collections.Generic.SortedDictionary<string, string> ReadFontInfor ...
- 读取注册表获取Windows系统XP/7/8/10类型(使用wcscmp比较wchar[]内容)
很多方案是采用GetVersion.GetVersionEx这两个API来查询操作系统的版本号来判断当前的操作系统是Windows系列中的哪个,在Win10没有出现前,这种方法是行的通的,但是Win1 ...
随机推荐
- Windows Phone 解析手机型号DeviceStatus.DeviceName
问题的产生 在WP开发过程中难免遇到统计等相关的数据回收,那么当使用DeviceStatus.DeviceName这个来获取设备的名称时经常会得到类似下面的设备信息: 可以看出这样的数据很不直 ...
- scala 测试类
class NetworkUtilTest extends FunSuite with Matchers { test("testIp2Int") { val ip = Netwo ...
- 2018-11-17 js的this引起的血案
js的this. 昨天测试,删除商品会报错,马上去测了一把,的确会报错.为毛线呢? SubOrderItem: function (orderitem) { if (orderitem.ordernu ...
- Apache ab使用POST参数进行压力测试 (服务端为Django)
2016年07月07日 15:04:51 常城 阅读数:13774更多 个人分类: PythonLinux架构 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...
- plsql programming 01 plsql概述
授权 从 oracle 8i 开始, oracle 用通过提供 authid 子句为 pl/sql 的执行授权模型, 这样我们可以选择使用 authid current_user(调用者权限)来执行这 ...
- EasyUI DataGrid合并单元
<table id="tt"></table> $('#tt').datagrid({ title:'Merge Cells', iconC ...
- 【转】web测试技术经典案例(基础、全面)
觉得有些内容还是挺实用的,就转了 1. 概述 随着web应用的增多,新的模式解决方案中以web为核心的应用也越来越多,很多公司各种应用的架构都以B/S及web应用为主,但是有关WEB测试方面的内容并没 ...
- Spring Cloud的子项目,大致可分成两类
Spring Cloud的子项目,大致可分成两类,一类是对现有成熟框架”Spring Boot化”的封装和抽象,也是数量最多的项目:第二类是开发了一部分分布式系统的基础设施的实现,如Spring Cl ...
- 那么类 Man 可以从类 Human 派生,类 Boy 可以从类 Man 派生
若在逻辑上 B 是 A 的“一种”(a kind of ),则允许 B 继承 A 的功 能和属性. 例如男人(Man)是人(Human)的一种,男孩(Boy)是男人的一种. 那么类 Man 可以从类 ...
- Machine Learning With Spark学习笔记(在10万电影数据上训练、使用推荐模型)
我们如今開始训练模型,还输入參数例如以下: rank:ALS中因子的个数.通常来说越大越好,可是对内存占用率有直接影响,通常rank在10到200之间. iterations:迭代次数,每次迭代都会降 ...