c++代码获取cpu温度?

cnm_111 2011-08-08 10:06:03
求大家帮忙用c++写一个获取cpu温度的代码?
网上找了很多代码,还是没弄好。。希望高手没帮忙!
...全文
1579 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
jingavin0 2011-08-11
  • 打赏
  • 举报
回复
为什么要用代码啊?直接脚本查不就好了
c_losed 2011-08-11
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 babilife 的回复:]

引用 10 楼 qwert1643ou65923 的回复:
试了 没用 返回uReturn 是 0
怎么回事哦
引用 8 楼 babilife 的回复:
神马都是浮云

正确代码

C/C++ code

#define _WIN32_DCOM
#include <iostream>
using namespace std;
#include <comdef.h>
#……
[/Quote]
babilife的机器是笔记本?
c_losed 2011-08-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 babilife 的回复:]

神马都是浮云

正确代码

C/C++ code

#define _WIN32_DCOM
#include <iostream>
using namespace std;
#include <comdef.h>
#include <Wbemidl.h>

# pragma comment(lib, "wbemuuid.lib")

int main(int argc, char **……
[/Quote]
这个不能通用的
大部分机型是获取不到的
至善者善之敌 2011-08-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 qwert1643ou65923 的回复:]
试了 没用 返回uReturn 是 0
怎么回事哦
引用 8 楼 babilife 的回复:
神马都是浮云

正确代码

C/C++ code

#define _WIN32_DCOM
#include <iostream>
using namespace std;
#include <comdef.h>
#include <Wbemidl.h>

# pragma……
[/Quote]

汗了~~~
VS2005

Current CPU Temperature : 46
请按任意键继续. . .
RLib 2011-08-11
  • 打赏
  • 举报
回复
C++代码获取CPU温度?

驱动程序就好办。Windows的可以查下MSDN。

或者拿温度计去测。

qwert1643ou65923 2011-08-11
  • 打赏
  • 举报
回复
试了 没用 返回uReturn 是 0
怎么回事哦
[Quote=引用 8 楼 babilife 的回复:]
神马都是浮云

正确代码

C/C++ code

#define _WIN32_DCOM
#include <iostream>
using namespace std;
#include <comdef.h>
#include <Wbemidl.h>

# pragma comment(lib, "wbemuuid.lib")

int main(int argc,……
[/Quote]
xiaojunjun1202 2011-08-11
  • 打赏
  • 举报
回复
学习!
至善者善之敌 2011-08-11
  • 打赏
  • 举报
回复
神马都是浮云

正确代码


#define _WIN32_DCOM
#include <iostream>
using namespace std;
#include <comdef.h>
#include <Wbemidl.h>

# pragma comment(lib, "wbemuuid.lib")

int main(int argc, char **argv)
{
CoInitializeEx(0,COINIT_MULTITHREADED);
try
{
if(SUCCEEDED(CoInitializeSecurity(NULL,-1,NULL,NULL,RPC_C_AUTHN_LEVEL_DEFAULT,RPC_C_IMP_LEVEL_IMPERSONATE,NULL,EOAC_NONE,NULL)))
{
IWbemLocator *pLoc=NULL;
if(SUCCEEDED(CoCreateInstance(CLSID_WbemLocator,0,CLSCTX_INPROC_SERVER,IID_IWbemLocator,(LPVOID *)&pLoc)))
{
IWbemServices *pSvc=NULL;
if(SUCCEEDED(pLoc->ConnectServer(_bstr_t(L"ROOT\\WMI"),NULL,NULL,0,NULL,0,0,&pSvc)))
{
if(SUCCEEDED(CoSetProxyBlanket(pSvc,RPC_C_AUTHN_WINNT,RPC_C_AUTHZ_NONE,NULL,RPC_C_AUTHN_LEVEL_CALL,RPC_C_IMP_LEVEL_IMPERSONATE,NULL,EOAC_NONE)))
{
IEnumWbemClassObject* pEnumerator=NULL;
if(SUCCEEDED(pSvc->ExecQuery(bstr_t("WQL"),bstr_t("SELECT * FROM MSAcpi_ThermalZoneTemperature"),WBEM_FLAG_FORWARD_ONLY|WBEM_FLAG_RETURN_IMMEDIATELY,NULL,&pEnumerator)))
{
IWbemClassObject *pclsObj;
ULONG uReturn=0;
while(pEnumerator)
{
pEnumerator->Next(WBEM_INFINITE, 1, &pclsObj, &uReturn);
if(0==uReturn)
break;
VARIANT vtProp;
VariantInit(&vtProp);
pclsObj->Get(L"CurrentTemperature", 0, &vtProp, 0, 0);
wcout << "Current CPU Temperature : " << (vtProp.intVal - 2732)/10.0 << endl;
VariantClear(&vtProp);
pclsObj->Release();
}
}
}
pSvc->Release();
}
pLoc->Release();
}
}
}
catch (_com_error err)
{
}
CoUninitialize();
return 0;
}
独酌逸醉 2011-08-11
  • 打赏
  • 举报
回复
C++没有办法办到的,这取决于你所使用的平台,网上查一下API就欧克了。
品茶 2011-08-11
  • 打赏
  • 举报
回复
Mark
interlace2010 2011-08-11
  • 打赏
  • 举报
回复
顶一个
flylee 2011-08-11
  • 打赏
  • 举报
回复
Linux:

acpi -t
cnm_111 2011-08-11
  • 打赏
  • 举报
回复
有人知道吗?如果是在linux下,是不是可以直接读取linux系统目录下的一个文件就可以得到?
wlcbh 2011-08-11
  • 打赏
  • 举报
回复
代码可能和具体的主板有关吧,猜测的。
c_losed 2011-08-11
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 babilife 的回复:]

引用 14 楼 c_losed 的回复:
引用 12 楼 babilife 的回复:

引用 10 楼 qwert1643ou65923 的回复:
试了 没用 返回uReturn 是 0
怎么回事哦
引用 8 楼 babilife 的回复:
神马都是浮云

正确代码

C/C++ code

#define _WIN32_DCOM
#include <iostream……
[/Quote]
因为这段代码只能取笔记本上的温度...
取不了台式机
wyfwx 2011-08-11
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 qwert1643ou65923 的回复:]
试了 没用 返回uReturn 是 0
怎么回事哦

引用 8 楼 babilife 的回复:
神马都是浮云

正确代码

C/C++ code

#define _WIN32_DCOM
#include <iostream>
using namespace std;
#include <comdef.h>
#include <Wbemidl.h>

# prag……
[/Quote]

似乎需要主板支持
至善者善之敌 2011-08-11
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 c_losed 的回复:]
引用 12 楼 babilife 的回复:

引用 10 楼 qwert1643ou65923 的回复:
试了 没用 返回uReturn 是 0
怎么回事哦
引用 8 楼 babilife 的回复:
神马都是浮云

正确代码

C/C++ code

#define _WIN32_DCOM
#include <iostream>
using namespace std;……
[/Quote]

兄弟如何得知我是笔记本?
luciferisnotsatan 2011-08-08
  • 打赏
  • 举报
回复
帮顶。
nightkids_008 2011-08-08
  • 打赏
  • 举报
回复
我记得shell里有个命令可以获取CPU信息的,你可以查下,然后参考它的代码

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧