C/C++ 如何编程实现读取电脑所有的硬件信息
发布网友
发布时间:2022-04-21 00:17
我来回答
共4个回答
热心网友
时间:2023-09-28 10:19
其实如果你只要读CPU温度或者GPU温度或硬盘参数这种就直接调用WMI接口API就可以,
但其实像“鲁大师”这种程序是自己重写ring0接口程序来获得所有硬件接口信息的,所以需要对底层驱动有很深的了解。
我用了一个开源的Lib实现了对所有硬件信息的读取,全部用Ring0完成,C++要用的话需要用Managed C++
热心网友
时间:2023-09-28 10:19
我只是写了一个,文件系统的信息。会打印出NTFS(我的文件用的是NTFS).不同的硬件会用到不同的API函数。
我不太了解这些,这个函数还是在网上查的。你可以到网上查一下用哪些API函数来获取哪些硬件的信息,然后再去查MSDN.
GetSystemMetrics是屏幕的信息。
#include<iostream>
#include<string>
#include<windows.h>
using namespace std;
int main()
{
DWORD dwSysFlags;
char fileSysNameBuf[100];
DWORD FILESYSNAMEBUFSIZE = 100;
GetVolumeInformation( "c:/", NULL, 0, NULL, NULL,
&dwSysFlags, fileSysNameBuf,
FILESYSNAMEBUFSIZE);
cout << fileSysNameBuf << endl;
cout << GetSystemMetrics(SM_CXSCREEN) << endl;
cout << GetSystemMetrics(SM_CYSCREEN) << endl;
return 0;
}
热心网友
时间:2023-09-28 10:20
代码如下:
#include<iostream>
#include<string>
#include<windows.h>
using namespace std;
int main()
{
DWORD dwSysFlags;
char fileSysNameBuf[100];
DWORD FILESYSNAMEBUFSIZE = 100;
GetVolumeInformation( "c:/", NULL, 0, NULL, NULL,
&dwSysFlags, fileSysNameBuf,
FILESYSNAMEBUFSIZE);
cout << fileSysNameBuf << endl;
cout << GetSystemMetrics(SM_CXSCREEN) << endl;
cout << GetSystemMetrics(SM_CYSCREEN) << endl;
return 0;
}
热心网友
时间:2023-09-28 10:20
建议你找找windows编程书看看,了解相应的api函数!