要求:
这是我所在地区的 Java 开发人员面临的一个非常常见的问题。我真的被困了很多天。搜索并尝试了很多,阅读文档。阅读所有与 JavaExe 相关的 stackoverflow 问题。请仅在您以前做过类似的事情并有全面答案的情况下回复。我会非常感谢社区!
塞纳里奥:
我正在使用JavaExe以桌面交互功能将应用程序作为系统服务运行。确切地说,我有一个捕获桌面屏幕截图的应用程序。我希望它在任何用户登录时运行(以管理员身份),所以没有人可以阻止它。
我有一个 myapp.jar、settings.txt 和一个 lib 目录。
我进行了很多搜索,发现 JavaExe 有效(通过观看其示例)
如果有人有更好的方法。请这样说。
问题:
根据我的研究,
您必须创建一个名称类似于 .exe 的 .properties 文件,并写入
"RunType = 1"
该文件。您在主类中定义一个静态方法:
serviceInit()
我需要放置任何课程或参考/导入吗?如何?
编辑:
我下面的代码作为独立的.jar 和 javaExe.exe工作。
它现在确实提供系统服务并由SYSTEM用户运行。但它不是与桌面交互的。即它没有显示任何GUI。
package temp;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
public class Temp {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
serviceInit();
}
public static boolean serviceInit(){
new Thread(){
public void run(){
Integer i = 0;
while(i < 999999999){
JOptionPane.showMessageDialog(null,i);
i++;
}
}
}.start();
return true;
}
}
而且我认为将 .jar、lib 目录和 settings.txt 捆绑到一个 .exe 中是不可能的?