aardio 文档
aardio 范例: 进程效率模式
//效率模式
import fonts.fontAwesome;
import win.ui;
/*DSG{{*/
var winform = win.form(text="进程效率模式";right=245;bottom=176;border="dialog frame";max=false;min=false;topmost=1)
winform.add(
chkEfficiencyMode={cls="checkbox";text=" 启用效率模式";left=78;top=129;right=200;bottom=156;z=1};
plus={cls="plus";text='\uF06C';left=21;top=27;right=184;bottom=98;color=12632256;font=LOGFONT(h=-48;name='FontAwesome');z=2}
)
/*}}*/
import win.version;
if(!win.version.isWin11Later){
error("至少要 Windows 11 才能支持效率模式");
//注意下面的代码在低于 Win11 的系统执行会自动忽略不执行操作,不会报错。
}
import process;
//打开进程,省略参数打开当前进程
var prcs = process()
//设置进程效率模式
setEfficiencyMode = function(enabled){
//设置为『效率模式』
prcs.setInfo(4/*_ProcessPowerThrottling*/, {
INT version = 1;
INT controlMask = 1;
INT stateMask = enabled ? 1 : 0;
});
//必须降低进程优先级,任务管理器的『状态』栏才会显示绿叶图标
prcs.setPriorityClass(enabled ? 0x40/*_IDLE_PRIORITY_CLASS*/ : 0x20/*_NORMAL_PRIORITY_CLASS*/)
}
//复选框事件
winform.chkEfficiencyMode.oncommand = function(id,event){
setEfficiencyMode(winform.chkEfficiencyMode.checked);
}
//创建定时器,检测效率模式是否开启
winform.setInterval(
function(){
var throttlingState = prcs.getInfo(4/*_ProcessPowerThrottling*/,{
INT version = 1;
INT controlMask;
INT stateMask;
})
var enabled =throttlingState && throttlingState.controlMask == 1 && throttlingState.stateMask == 1
winform.plus.color = enabled ? 0xFF008000 : 0xFFCCCCCC;
},500
)
winform.show();
win.loopMessage();
Markdown 格式