JavaExe и Java-приложение как системная служба Windows, интерактивная для рабочего стола
Запрос:
Это очень распространенная проблема, с которой сталкиваются разработчики Java в моем регионе. Я действительно застрял на этом много дней. Искал и много пробовал, читал документы. Прочитайте ВСЕ вопросы о стеке потока, связанные с JavaExe. Пожалуйста, отвечайте только в том случае, если вы уже делали подобное раньше и имеете исчерпывающий ответ. Буду очень признателен сообществу!
Senario:
я используюJavaExe запустить приложение каксистемный сервис на рабочем столеинтерактивный возможность. Если быть точным, у меня есть приложение, котороеснимает скриншоты рабочих столов, Я хочу, чтобы это бежало (как админ) налюбой пользователь логин так что никто не может остановить это.
У меня есть myapp.jar, settings.txt и каталог lib.
Я много искал и нашел работы JavaExe (просмотрев примеры)
Если у кого есть лучший способ. Пожалуйста, укажите это.
Проблема:
Согласно моим исследованиям,
Вы должны создать файл .properties с именем, подобным .exe, и написать"RunType = 1"
в этом файле.
Вы определяете статический метод в своем основном классе:serviceInit()
Нужно ли размещать какой-либо класс или ссылку / импорт? Как?
Редактировать:
Мой код нижеработает как одинокий.jar и в javaExe.exe тоже.
Это сейчасделает системный сервис и работает какСИСТЕМА пользователь. но этоНЕ является интерактивным для рабочего стола, т.е. он не показывает никакого графического интерфейса.
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?