通过网站禁用屏幕保护程序/睡眠模式

Disable screen saver / sleep mode through a website

本文关键字:模式 程序 屏幕保护 网站      更新时间:2023-09-26

我正在开发一个web应用程序,该应用程序有时需要在监视器上活动数小时,而没有人接触计算机。

问题是,有些电脑在不活动时有屏幕保护程序,或者更糟的是睡眠模式。

我正在想办法绕过它。我搜索了java小程序,或者可能是一个只做这件事的flash文件。不幸的是,我什么也没发现。

很抱歉这个问题太笼统了,但我对这个主题很无奈

我已经为您编写了Java小程序。它将每59秒左右移动鼠标光标一个像素,有效地防止屏幕保护程序启动。

请注意,由于安全限制,此小程序需要签名并授予createRobot权限才能在客户端上工作,否则它将无法初始化Robot类。但这是一个超出这个问题范围的问题。

import java.applet.Applet;
import java.awt.*;
import java.util.Timer;
import java.util.TimerTask;
/**
 * Moves the mouse cursor once in a minute to prevent the screen saver from
 * kicking in.
 */
public class ScreenSaverDisablerApplet extends Applet {
    private static final int PERIOD = 59;
    private Timer screenSaverDisabler;
    @Override
    public void start() {
        screenSaverDisabler = new Timer();
        screenSaverDisabler.scheduleAtFixedRate(new TimerTask() {
            Robot r = null;
            {
                try {
                    r = new Robot();
                } catch (AWTException headlessEnvironmentException) {
                    screenSaverDisabler.cancel();
                }
            }
            @Override
            public void run() {
                Point loc = MouseInfo.getPointerInfo().getLocation();
                r.mouseMove(loc.x + 1, loc.y);
                r.mouseMove(loc.x, loc.y);
            }
        }, 0, PERIOD*1000);
    }
    @Override
    public void stop() {
        screenSaverDisabler.cancel();
    }
}