(转)aardio 利用开源库OpenHardwareMonitor获取CPU或显卡温度

By admin at 2018-08-03 • 0人收藏 • 489人看过

以下文章整理自aar官方培训群以备日后查看:

aardio官方论坛上有人问怎么调用c#代码利用开源的dll获取cpu温度,一鹤校长在培训群里给出了如下的代码:

import win.ui;
/*DSG{{*/
var mainForm = win.form(text="aardio 利用开源库OpenHardwareMonitor获取CPU或显卡温度";right=791;bottom=699)
mainForm.add(
edit={cls="edit";left=8;top=4;right=787;bottom=696;db=1;dl=1;dr=1;dt=1;edge=1;multiline=1;z=1}
)
/*}}*/

import dotNet;
var clr = dotNet.clr(); 
var app = clr.createAppDomain();

//官网 http://openhardwaremonitor.org 
var dll = app.loadFile("\dll\OpenHardwareMonitorLib.dll");
var computer = dll.createInstance("OpenHardwareMonitor.Hardware.Computer");

computer.MainboardEnabled = true;
computer.CPUEnabled = true;
computer.HDDEnabled = true;
computer.RAMEnabled = true;
computer.GPUEnabled = true;
computer.FanControllerEnabled = true;
computer.Open();

var HardwareType = {
 	[0] = "Mainboard";
 	[1] = "SuperIO";
 	[2] = "CPU";
 	[3] = "GpuNvidia";
 	[4] = "GpuAti";
 	[5] = "TBalancer";
 	[6] = "Heatmaster";
 	[7] = "HDD";
}

for(i,hardware in computer.Hardware){ 
	mainForm.edit.print( hardware.Name,HardwareType[hardware.HardwareType] );
	   
	hardware.Update()        
	
	//下面这行是多余的
 	//for(k,v in hardware.SubHardware) v.Update()  
	
	for(k,sensor in hardware.Sensors){        
 		mainForm.edit.print("温度",sensor.Name,sensor.Value )
	}
}

mainForm.show() 
win.loopMessage();

blob.png

从没调用过C#的dll,刚好学习下。


登录后方可回帖

登 录
信息栏
本站永久域名:HtmLayout.Cn
纯私人站,当笔记本用的,学到哪写到哪,目前正在学aardio+halcon机器视觉.
本 站 主 站:Stm32cube中文网
Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
aardio在线手册Aardio在线手册
黑猫Aar教程网:简码编程
C大Aardio论坛:Aar爱好者论坛
AARDIO语言QQ群:70517368
赞助商:才仁机械
下载站:非凡软件站
Loading...