【发布时间】:2023-11-25 07:58:01
【问题描述】:
请求:
这是我所在地区的 Java 开发人员面临的一个非常常见的问题。我真的被困了很多天。搜索并尝试了很多,阅读文档。阅读所有与 JavaExe 相关的 * 问题。请仅在您以前做过类似的事情并有全面答案的情况下回复。我会非常感谢社区!
塞纳里奥:
我正在使用 JavaExe 将应用程序作为 系统服务 在桌面 交互式 功能中运行。 确切地说,我有一个捕获桌面屏幕截图的应用程序。我希望它在任何用户登录时运行(以管理员身份),因此没有人可以阻止它。
我有一个 myapp.jar、settings.txt 和一个 lib 目录。
我搜索了很多,发现 JavaExe 有效(通过观看它的示例)
如果有人有更好的方法。请说明。
问题:
根据我的研究,
您必须创建一个名称类似于 .exe 的 .properties 文件,并在此文件中写入
"RunType = 1"。您在主类中定义了一个静态方法:
serviceInit()
我需要放置任何类或引用/导入吗?怎么样?
编辑:
我在 works 下面的代码可以作为独立的 .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 中是不可能的?
【问题讨论】:
标签: java windows-7 windows-services interactive java-service-wrapper