package xyz.wbsite.jtask; import xyz.wbsite.jmacro.JMacro; import xyz.wbsite.jmacro.base.ViewRect; import xyz.wbsite.jmacro.util.Logger; /** * 任务实现 * * @author wangbing * @version 0.0.1 * @since 1.8 */ public class TaskImpl extends JMacro { @Override public synchronized ViewRect focus() { Logger.info("定位工作窗口"); ViewRect rect = getScreenRect(); Logger.info("聚焦窗口:" + rect.toString()); Logger.info("聚焦窗口大小:{}x{}", rect.getRight() - rect.getLeft(), rect.getBottom() - rect.getTop()); return rect; } @Override public void task() { // 此处我们模拟一个简单的脚本 // 比如在window11打开我的电脑再关闭 Logger.info("启动任务"); Logger.info("查找我的电脑图标"); ViewRect launch = findLegend("我的电脑", 0.9); if (launch == null) { Logger.error("未找到我的电脑图标"); return; } Logger.info("启动图标坐标:", launch.toString()); Logger.info("移动鼠标"); mouseMove(launch.getCenter(), true); Logger.info("双击我的电脑"); mouseLeftDoubleClick(launch); Logger.info("等待程序启动中,请稍等..."); delay(3 * 1000); ViewRect windows = findLegend("我的电脑窗口", 0.9); if (windows == null) { Logger.error("我的电脑启动失败"); return; } Logger.info("定位到我的电脑窗口"); Logger.info("移动鼠标"); mouseMove(windows.getCenter().offsetX(100), true); Logger.info("等待1秒后自动关闭"); delay(1000); mouseLeftClick(windows.getCenter().offsetX(100)); Logger.info("结束任务"); } }