防止电脑睡眠的Java程序

背景

如果你可以通过电脑电源管理能设置不睡眠则可以,但是有些电脑可能因为权限无法设置不睡眠,有什么办法?

比如可以启动一个java程序模拟鼠标隔一段时间就动一下

代码

如下代码按照自己的需要调整间隔,下面代码是delay 5000毫秒,即5秒动一下。注意不要设置过于密集,对于cpu会消耗,比如如果你的电脑10分钟不动就会睡眠,其实取一半时间5分钟都没问题。

设置得太频繁会导致你想操作鼠标点击停止按钮的时候会导致鼠标不断被移开,你点都点不了!!

package org.example.test;

import java.awt.*;
import java.awt.event.KeyEvent;
import java.util.Random;

public class TestMain {

    public static void main(String[] args) throws AWTException {
        Robot robot = new Robot();
        Random random = new Random();
        int x = 0;
        int y = 0;
        while(true) {
            try {
                robot.delay(5000);
                x = Math.abs(random.nextInt(100)) % 100 + 50;
                y = Math.abs(random.nextInt(100)) % 100 + 50;
                change(0, x, y);
            } catch (Exception e) {
                e.printStackTrace();
                break;
            }
        }
    }

    public static void change(int type, int x, int y){
        Point p = MouseInfo.getPointerInfo().getLocation();
        int width = (int) p.getX() + x;
        int heigh = (int) p.getY() + y;
        if(type == 0) {
            width = x;
            heigh = y;
        }
        Robot robot;
        try {
            robot = new Robot();
            robot.mouseMove(width,heigh);
        } catch (AWTException e) {
            e.printStackTrace();
        }
    }

}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值