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

时间:2012-09-09 18:47:52

标签: java javascript flash applet

我正在开发一个需要在显示器上活动的网络应用程序,有时几个小时没有人触摸计算机。

问题是有些计算机有屏幕保护程序,或者更糟糕 - 睡眠模式是无效的。

我正试图想办法绕过它。我搜索了java applets或者只是那个闪存文件。不幸的是,我一无所获。

对于这个过于笼统的问题我很抱歉,但我对这个问题很无奈

1 个答案:

答案 0 :(得分:1)

我为你编写了Java applet。它将鼠标光标每隔59秒向右移动一个像素,有效防止屏幕保护程序被踢入。

请注意,because of security restrictions此applet需要be signedgranted the createRobot permission才能在客户端上运行,否则无法初始化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();
    }

}