とかなり無力です。それは右にマウスのカーソルを1つのピクセルずつ移動し、バックごとに59秒、効果的に蹴りからスクリーンセーバーを防止します。
注意をbecause of security restrictionsこのアプレットは、クライアント上で動作するようにbe signedとgranted 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();
}
}
私はかなりそういうことはできないと確信しています。少なくともJSまたはFlashを介して。 –
javascriptタグを削除する必要があります。javascriptを使って行うことはできません。 –
カスタムmousemoveイベントをディスパッチするとできますが、これは本当に汚いハックです。 –