新手求助,C#怎么获取硬件的温度。在网上也查找到了很多资料,可是小弟编程水平很低,不提供完整代码根本不知道怎么弄,只能做可耻的伸手党了。
已下载http://download.csdn.net/download/hetao19890614/3977558上面的程序,程序能够正常运行,可是不能得到CPU温度,个人认为可能是硬件bios的原因。不知道有没有高手能够提供其他程序,用C++编写的也可。
在此,先谢过大家了
已下载http://download.csdn.net/download/hetao19890614/3977558上面的程序,程序能够正常运行,可是不能得到CPU温度,个人认为可能是硬件bios的原因。不知道有没有高手能够提供其他程序,用C++编写的也可。
在此,先谢过大家了
2. DTS方式。这个是当前觉的最靠谱的方法。具体见几个收藏链接。这种方式的重要地方在于怎么样获取Ring0权限。这样才能读取MSR。
在XP中用ZwSystemDebugControl试验了一下,一些机器上可以正确取得。不过合理的方式还是写驱动获取Ring0权限。CPU-Z虽然看不到驱动文件,但是还是使用的写驱动的方式(Reading an MSR does require you to have a ring0 access. Both Core Temp and RealTemp use a driver for this.
The driver Core Temp uses is hidden in the executable for portability, so that's why you don't see anything other than the EXE when you download it.)3. 在pmu里读到,端口是68h、6ch。这个方法如果写驱动或许可以试试,但是用WinIO没有实现综上,获取这个值需要访问CPU底层,所以写驱动获取Ring0权限是必要的。