JavaExe和Java应用程序作为Windows系统服务与桌面交互

这是Java开发人员在我的语言环境中面临的一个非常普遍的问题。我真的为此困扰了很多天。搜索并尝试了很多,阅读文档。阅读与JavaExe相关的所有stackoverflow问题。请仅在您之前做过类似的事情并且有完整的答案时回复。我将非常感谢社区!

我正在使用 功能中将应用程序作为 运行。确切地说,我有一个

的应用程序。我希望它能以 ( )运行 因此没有人可以阻止它。 *


我有一个myapp.jar,settings.txt和一个lib目录。

我已经大量搜索并发现JavaExe可以工作(通过观看其示例)

如果有人有更好的方法。请说明。

根据我的研究,

  1. 您必须创建一个命名为.exe的.properties文件,并将其写入"RunType = 1"

  2. 您可以在主类中定义一个静态方法: serviceInit()

我是否需要放置任何类或参考/导入?怎么样?

我下面的代码也 作为独立的 。

现在 它 并以 用户身份运行。但是它 。即它不显示任何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中吗?

回答:

您应该有以下情况:

public class MyApp_ServiceManagement

{

static boolean isMsgToDisplay = false;

/////////////////////////////

public static boolean serviceInit()

{

(new Thread()

{

public void run()

{

for(int i=0;i < 6;i++)

{

try { sleep(5*1000); }

catch(Exception ex) {}

isMsgToDisplay = true;

}

}

}).start();

return true;

}

/// is Data ready to be send to the UI ?

public static boolean serviceIsDataForUI()

{

return isMsgToDisplay;

}

/// Data to be send to the UI

public static Serializable serviceDataForUI()

{

isMsgToDisplay = false;

return "hello, I am an interactive Service";

}

}

对于UI部分:

public class MyApp_TaskbarManagement

{

/// To show (or not) the icon in tray

public static boolean taskIsShow()

{

return false;

}

/// Receive the message from Service

public static void taskDataFromService(Serializable data)

{

JOptionPane.showMessageDialog(null, data);

}

/// descr of UI

public static String[] taskGetInfo()

{

return new String[]

{

"UI part of Service"

};

}

}

以上是 JavaExe和Java应用程序作为Windows系统服务与桌面交互 的全部内容, 来源链接: utcz.com/qa/419723.html

回到顶部