将Java App变为Windows屏幕保护程序

cit*_*nas 15 java screensaver

我写了一个用深度优先搜索解决迷宫的程序.我想知道如何将这个Java程序变成Screensaver应用程序?当屏幕保护程序通常被激活时,有没有办法让Windows 7启动我的应用程序?

Ten*_*she 16

Windows屏幕保护程序只是接受某些命令行参数的程序.因此,为了让您的程序可以作为屏幕保护程序运行,您必须对其进行编码以接受这些参数.

接下来,您可能希望屏幕保护程序以全屏模式运行.这在Java中非常简单,如下例所示:

 public final class ScreenSaver {

     public static final void main(final String[] args) throws Exception {
         UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

         final JFrame screenSaverFrame = new JFrame();
         screenSaverFrame.setDefaultCloseOperation(
             WindowConstants.EXIT_ON_CLOSE);
         screenSaverFrame.setUndecorated(true);
         screenSaverFrame.setResizable(false);
         screenSaverFrame.add(new JLabel("This is a Java Screensaver!",
                              SwingConstants.CENTER), BorderLayout.CENTER);
         screenSaverFrame.validate();
         GraphicsEnvironment.getLocalGraphicsEnvironment()
                   .getDefaultScreenDevice()
                   .setFullScreenWindow(screenSaverFrame);
    }
}
Run Code Online (Sandbox Code Playgroud)

最后,您需要使用Launch4j之类的东西将Java程序转换为Windows可执行文件并为其提供.scr扩展.


Vin*_*nie 7

我从来没有用过这个,但它可能是开始的地方.屏幕保护程序API.


屏幕保护程序SDK的链接目前似乎已被打破,因此我链接到索引页面:JDIC.当他们修复链接时我会调整它.


Blo*_*ard 5

Windows屏幕保护程序只是接受某些命令行参数的exe文件,详细信息请参见此处.

如果你可以将你的java应用程序编译成一个exe(我不再使用java了,所以我不确定存在什么工具),然后将它重命名为.scr,这样就可以了.或者只是制作一个.bat文件就足够了:

@echo off
java myProg.class %1
Run Code Online (Sandbox Code Playgroud)

..并将其重命名为.scr.