打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
在 aardio 中嵌入 .Net 开源组件

经过不断的改进,现在的 aardio 嵌入 .Net 组件很多时候比 .Net 自身可能要方便,不但调用 .Net 的代码很简洁,也可以兼容主流 .Net 不同版本的运行时(支持所有主流桌面操作系统,不需要额外再去安装 .Net ),并且可以内存嵌入 .Net 编程语言生成的 DLL程序集,并生成独立EXE文件。

aardio 自带的 .Net 范例中提供了非常多的范例,今天我们要说的是调用另外的一个 .Net 开源组件:用于获取硬件温度的 Open Hardware Monitor。很多年前有人问过我怎么调用这个组件,我当时写了一段代码,今天有空,将这段代码封装为了一个扩展库( 源码其实没几句)

先看看在 aardio 中调用这个扩展库的代码:

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;hscroll=1;multiline=1;vscroll=1;z=1})/*}}*/
import sys.openHardwareMonitor; var computer = sys.openHardwareMonitor.computer();
computer.enumHardware(function(hardwareItem,path,index){ hardwareItem.Update() mainForm.edit.print( path + hardwareItem.Name,hardwareItem.HardwareTypeString ); for i,sensor in hardwareItem.eachSensors(){ mainForm.edit.print(path+'\t',sensor.Name,sensor.ValueString,sensor.MaxString,sensor.SensorTypeString ) } return path + '\t'; },'')
mainForm.show() win.loopMessage();


这个 sys.openHardwareMonitor 扩展库的关键代码其实就几句:

import dotNet; 
var appDomain = dotNet.appDomain(); var OpenHardwareMonitorLib = appDomain.loadFile($'~\lib\sys\openHardwareMonitor\.res\OpenHardwareMonitorLib.dll'); namespace sys.openHardwareMonitor{ HardwareComputer = OpenHardwareMonitorLib.import('OpenHardwareMonitor.Hardware.Computer') computer = function(){ var c = HardwareComputer(); c.MainboardEnabled = true; //省略其他代码 }}

非常简单,这里要注意一下上面DLL程序集文件路径前面有一个 $ 符号:

$'~\lib\sys\openHardwareMonitor\.res\OpenHardwareMonitorLib.dll'

$ 这个符号的作用是指示 aardio 将这个 DLL 编译到代码中 —— 在运行时直接通过内存加载这个 DLL,也就是说发布程序以后就不再需要这个 DLL 文件了,很多 .Net 程序集体积非常小,嵌入这些程序集很不错。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
解决无IISXP系统无IIS如何安装IIS
C#实现只运行单个实例应用程序的方法(使用VB.Net的IsSingleInstance)
aardio + .NET( C# ) 快速开发独立 EXE 程序,防 ILSpy 反编译 EXE
C#导出HTML到PDF组件 Pechkin
文件拖放 获取路径 Aardio
VBA 中发送邮件(二. 使用 JMail 组件)
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服