aardio 文档
aardio 范例: (当前线程)防息屏、保持唤醒
import win.ui;
/*DSG{{*/
var winform = win.form(text="(当前线程)防息屏、保持唤醒";right=759;bottom=469)
winform.add()
/*}}*/
_ES_CONTINUOUS = 0x80000000; // 持续有效
_ES_SYSTEM_REQUIRED = 1; // 阻止系统休眠
_ES_DISPLAY_REQUIRED = 2; // 阻止显示器关闭
_ES_AWAYMODE_REQUIRED = 0x40; // 启用离开模式
/*
https://learn.microsoft.com/windows/win32/api/winbase/nf-winbase-setthreadexecutionstate
参数指定线程的线程的执行要求。
此函数使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入睡眠状态或关闭显示器。
*/
::Kernel32.SetThreadExecutionState(_ES_CONTINUOUS | _ES_SYSTEM_REQUIRED | _ES_DISPLAY_REQUIRED);//避免息屏
// 窗口退出时恢复正常状态
winform.onDestroy = function(){
::Kernel32.SetThreadExecutionState(_ES_CONTINUOUS);
}
//可选:定时模拟操作,避免息屏
import key;
winform.setInterval(
function(){
// 如果空闲时间超过 45 秒,模拟输入
if(win.getIdleTime() > 45000){
key.press(0x7E/*_VK_F15*/)
}
}, 1000 );
winform.show();
win.loopMessage();
Markdown 格式