C++ 怎么实现获取当前PC 硬盘 内存的大小以及已使用大小,加上CPU使用率

我用的是VC6.0 哪位能够实现的麻烦给我说一下,最好是能够给我一个小程序(不能够给我大的) ,只要实现了提取以上数据就可以了,我可以再加分
对不起哈 还有硬盘的 我现在才发现 其实你完全可以给我说在哪儿去找这些API 找到之后我就完全可以自己写了,谢谢 假如能够给我说的话,至于CPU,我已经自己实现了,是用的固定时间内的空闲时间来实现的,还是很感谢你,我再等一下

可以通过编程实现,源代码如下:
// Sample output:
// There is 51 percent of memory in use.
// There are 2029968 total KB of physical memory.
// There are 987388 free KB of physical memory.
// There are 3884620 total KB of paging file.
// There are 2799776 free KB of paging file.
// There are 2097024 total KB of virtual memory.
// There are 2084876 free KB of virtual memory.
// There are 0 free KB of extended memory.

#include <windows.h>
#include <stdio.h>
#include <tchar.h>

// Use to convert bytes to KB
#define DIV 1024

// Specify the width of the field in which to print the numbers.
// The asterisk in the format specifier "%*I64d" takes an integer
// argument and uses it to pad and right justify the number.
#define WIDTH 7

void _tmain()
{
MEMORYSTATUSEX statex;

statex.dwLength = sizeof (statex);

GlobalMemoryStatusEx (&statex);

_tprintf (TEXT("There is %*ld percent of memory in use.\n"),
WIDTH, statex.dwMemoryLoad);
_tprintf (TEXT("There are %*I64d total KB of physical memory.\n"),
WIDTH, statex.ullTotalPhys/DIV);
_tprintf (TEXT("There are %*I64d free KB of physical memory.\n"),
WIDTH, statex.ullAvailPhys/DIV);
_tprintf (TEXT("There are %*I64d total KB of paging file.\n"),
WIDTH, statex.ullTotalPageFile/DIV);
_tprintf (TEXT("There are %*I64d free KB of paging file.\n"),
WIDTH, statex.ullAvailPageFile/DIV);
_tprintf (TEXT("There are %*I64d total KB of virtual memory.\n"),
WIDTH, statex.ullTotalVirtual/DIV);
_tprintf (TEXT("There are %*I64d free KB of virtual memory.\n"),
WIDTH, statex.ullAvailVirtual/DIV);

// Show the amount of extended memory available.

_tprintf (TEXT("There are %*I64d free KB of extended memory.\n"),
WIDTH, statex.ullAvailExtendedVirtual/DIV);
}

运行后结果就能获取当前PC的硬盘大小、已使用大小和CPU的使用率。追问

尼玛回答的太及时了吧,才那么短短五六年你就抢着回答了

温馨提示:内容为网友见解,仅供参考
第1个回答  2009-08-13
您好~要用win API,
BOOL CSystemInfoDialog::OnInitDialog()

//对话框的初始化函数

{ CString DisplayString;

SYSTEM_INFO SystemInfo;

//检测CPU的类型

::GetSystemInfo(&&SystemInfo);

//WinAPI函数,用以取得系统信息

if (SystemInfo.wProcessorArchitecture = =

PROCESSOR_ARCHITECTURE_INTEL)

{ switch (SystemInfo.wProcessorLevel) {

//本程序只演示取得Intel系列CPU的方法

……

//省略对386及486机器的检测

case 5:

DisplayString= "Pentium";

break;

case 6:

DisplayString ="Pentium (II/Pro)";

break; }

}

m_CpuType.SetWindowText(DisplayString);

//变量m_CpuType是一个CStatic框

//检测内存状态

MEMORYSTATUS MemoryStatus;

//内存的现行状态结构

MemoryStatus.dwLength=sizeof(MEMORYSTATUS);

//填充结构的大小

::GlobalMemoryStatus(&&MemoryStatus);

//取得内存的状态

char buffer[20];

wsprintf(buffer,"%d bytes",MemoryStatus.dwTotalPhys);

//dwTotalPhys指示物理内存字节

m_Memory.SetWindowText(buffer);

//变量m_Memory是一个CStatic框

linux用
getrusage~

关于补充:
硬盘使用
GetDiskFreeSpace()
或者
GetDiskFreeSpaceEx()

您应该安装一个msdn~
或者到在线的msdn上查找~:
http://msdn.microsoft.com/zh-cn/default.aspx
第2个回答  推荐于2016-03-26
获取硬盘空间,使用:
GetDiskFreeSpace或GetDiskFreeSpaceEx

获取内存状态,使用:
GlobalMemoryStatus或GlobalMemoryStatusEx

获取CPU使用率,使用:
NtQuerySystemInformation查询关于处理器性能(SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION)本回答被提问者采纳
第3个回答  2009-08-13
上csdn里一大把。

...硬盘 内存的大小以及已使用大小,加上CPU使用率
运行后结果就能获取当前PC的硬盘大小、已使用大小和CPU的使用率。

windows下C\/C++如何获得当前主机的信息:操作系统版本、系统类型、CUP...
int pNum);\/***获取物理内存和虚拟内存大小***\/void GetMemoryInfo(CString &dwTotalPhys,CString &dwTotalVirtual);\/***获取CPU名称、内核数目、主频***\/void GetCpuInfo(CString &chProcessorName,CString

用c++怎么写代码自动监控CPU、内存、GPU使用率
C++源代码实现动态监视CPU内存使用率 http:\/\/www.skren.com\/forum.php?mod=viewthread&tid=108 您也可以试试搭载了第六代智能英特尔酷睿处理器的产品,创新性的使用模式,如实感技术,姿势控制,语音识别,2D\/3D影像,突破传统PC使用体验,无论办公学习、畅玩游戏或者观看超高清影像播放,均得心应手,...

Linux系统查看CPU使用率、内存使用率、磁盘使用率
1. top命令:此命令可实时查看系统运行状态和CPU使用率。2. sar命令:与top类似,能查看所有CPU的使用情况。可通过-P参数查看指定CPU的使用情况。例如,使用-P参数查看0号CPU。3. mpstat命令:每秒收集一次CPU使用率情况。4. iostat命令:每秒查看CPU最占资源的进程。二、查看内存使用率 1. free命令...

机器学习的新捷径:通过 SYCL 在 GPU 上加速 C++
接下来是GPU架构的介绍。GPU包含多个小处理单元,组成一个执行单元,每个处理单元附有少量内存。此外,GPU还具有GPU范围的内存以及与CPU使用的主内存相连的内存。执行单元内部的单元是同步的,每个单元在同一时间执行相同的指令。GPU的这一特性使其能够同时处理大量数据。在CPU上,通过多线程和向量指令可以在...

我的电脑CPU使用率50%左右正常吗我待机状态下,该怎样解决呢?
jian视Cidaemon.exe的内存占用情况,如果超过40M,则自动重启该进程Cleanmgr.exeWindows磁盘清理程序Cliconfig.exeSQL Server客户端网络实用工具Clipbrd.exe剪贴簿查看器Cmd.exe Windows命令控制台程序Cmesys.exeGator Gain广告插件Conf.exeNetMeetingControl.exeWindows控制面板程序Ctfmon.exe控制Microsoft Office语言条Ddeshare....

想学习高级软件用什么电脑合适作为一个学软件工程的新生
2,内存:4GB(及以上)。 3,显卡:显存 1G 及以上 位宽 256 bit及以上 ,显存类型 为DDR3以上 (如:NVIDIA Quadro 系列、ATI FireGL系列 或 Firepro系列)。 4,CPU: intel 双核高主频64bit,建议使用i5系列或i7系列,建议cpu主频高于2.8GHz ,中央处理器必须支持SSE2(Streaming SIMD Extensions 2)。 5,硬盘:不低于...

如何用计算机控制机械的运动
对于家用PC的硬盘来讲没什么,可是对于单片机来讲是不能接受的。 单片机在硬件资源方面的利用率必须很高才行,所以汇编虽然原始却还是在大量使用。一样的道理,如果把巨型计算机上的操作系统和应用软件拿到家用PC上来运行,家用PC的也是承受不了的。 可以说,二十世纪跨越了三个“电”的时代,即电气时代、电子时代和现已...

0x00000000指令引用的0x00000000内存,该内存不能为read,怎么回事?
兼容性出现了问题。电脑未安装运行环境所导致的无法运行,解决方法:1、按下键盘上的WIN+R进入到“运行”菜单,然后在运行菜单中输入“CMD”进入到命令符窗口。2、当进入到在命令符窗口中后。3、输入下图的命令来修复当前系统损坏的运行环境DLL。4、重新安装环境包。4、修复完毕后,重启电脑,软件报错...

...而且老显示0X026B6C3D指令引用的"0X00000000"内存不能为read要终止...
出现这个现象有方面的,一是硬件,即内存方面有问题,二是软件,这就有多方面的问题了。 一:先说说硬件: 一般来说,电脑硬件是很不容易坏的。内存出现问题的可能性并不大(除非你的内存真的是杂牌的一塌徒地),主要方面是:1。内存条坏了(二手内存情况居多)、2。使用了有质量问题的内存,3。内存插在主板上的...

相似回答