请求:
这是我当地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文件是可能的。