标题很混乱,但不知道如何用几句话来解释:
我有一个读取 *.example 文件的 java 应用程序。我还添加了一个文件关联,感谢install4j
因此,当用户双击任何扩展名为 *.example 的文件时,我的应用程序就会启动
看来 install4j 发送的文件路径是args[]
所以应该很容易打开该文件并将其显示在我的应用程序中。BUT如果应用程序已经在运行会发生什么?我只能允许该应用程序的一个实例,那么我如何知道用户正在打开一个文件?
我发现了这个:http://resources.ej-technologies.com/install4j/help/api/com/install4j/api/launcher/StartupNotification.html http://resources.ej-technologies.com/install4j/help/api/com/install4j/api/launcher/StartupNotification.html
但我仍然不明白应该如何使用它以及应该在应用程序中添加什么来侦听此事件。我在哪里可以找到示例?
根据您链接到的文档,您似乎可以执行以下操作:
StartupNotification.registerStartupListener(new StartupNotification.Listener() {
public void startupPerformed(String parameters) {
System.out.println("Startup performed with parameters " + parameters);
}
});
Since startupPerformed
将从不同的线程调用,您需要确保处理这些通知的代码是线程安全的。
文档还说:
对于多个文件,文件用双引号括起来并用空格分隔。
因此,您还需要自己解析参数字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)