标题令人困惑,但不知道如何用几句话来解释:
我有一个读取* .example文件的java应用程序。我还通过install4j
添加了文件关联,因此当用户双击任何扩展名为* .example
似乎install4j在args[]
中发送文件路径,因此应该很容易打开该文件并在我的应用程序中显示它。 但如果应用已在运行,会发生什么?我只能允许应用程序的一个实例,所以我怎么知道用户正在打开文件?
但是我仍然不明白我应该如何使用它以及我应该在我的应用程序中添加什么来收听此事件。我在哪里可以找到一个例子?
答案 0 :(得分:4)
根据您链接的文档,看起来您可以这样做:
StartupNotification.registerStartupListener(new StartupNotification.Listener() {
public void startupPerformed(String parameters) {
System.out.println("Startup performed with parameters " + parameters);
}
});
由于将从不同的线程调用startupPerformed
,因此您需要确保处理这些通知的代码是线程安全的。
文档还说:
对于多个文件,文件用双引号括起来并用空格分隔。
因此您还需要自己解析参数字符串。