代码之家  ›  专栏  ›  技术社区  ›  ScrappyDev

创建一个Java应用程序,在不移动鼠标的情况下保持计算机空闲?

  •  -2
  • ScrappyDev  · 技术社区  · 7 年前

    我需要创建一个简单的应用程序来防止我的计算机空转和进入睡眠状态。

    我更希望它是Java,但我很乐意看其他解决方案,只要我不需要安装第三方应用程序。

    1 回复  |  直到 7 年前
        1
  •  1
  •   ScrappyDev    7 年前

    我在寻找解决方案时发现了这一点:

    https://code.joejag.com/2013/move-your-mouse-pointer-with-java.html

    但是,它对我来说并不是很有效,因为它随意地将鼠标指针移动到了整个地方。这意味着我只能在 使用我的电脑

    https://code.joejag.com/2013/move-your-mouse-pointer-with-java.html网站

    import java.awt.Robot;
    import java.util.Random;
    
    public class MouseMover {
        public static final int FIVE_SECONDS = 5000;
        public static final int MAX_Y = 400;
        public static final int MAX_X = 400;
    
        public static void main(String... args) throws Exception {
            Robot robot = new Robot();
            Random random = new Random();
            while (true) {
                robot.mouseMove(random.nextInt(MAX_X), random.nextInt(MAX_Y));
                Thread.sleep(FIVE_SECONDS);
            }
        }
    }
    

    我修改了解决方案以更好地满足我的需求:

    **此版本获取鼠标指针的当前位置,并将鼠标移动到它已经所在的位置。从用户的角度看,鼠标不会移动,但是 防止计算机闲置。

    import java.awt.*;
    
    public class MouseJiggle {
        public static final int SLEEP_MILLIS = 60*1000;
    
        public static void main(String... args) throws Exception {
            Robot robot = new Robot();
            while (true) {
                Point point = MouseInfo.getPointerInfo().getLocation();
                robot.mouseMove(point.x, point.y);
                System.out.println("Mouse Moved!!");
                Thread.sleep(SLEEP_MILLIS);
            }
        }
    }