微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在java中为系统托盘创建单个实例

我正在使用java创建的桌面应用程序.我们正在为应用程序的Windows版本(用于在Windows O.S.上运行)工作.当我们运行我们的应用程序时,它会使用systemtray as在桌面上创建一个托盘图标

SystemTray tray = SystemTray.getSystemTray();

我正在创建系统托盘的单个实例,我在应用程序的主类中创建.

我正在为我的应用程序创建exe.我的问题是当我运行我的应用程序的exe文件时,它每次都会创建托盘图标.

我想在我的应用程序中只在桌面上显示一个托盘图标并作为服务运行.只有在卸载应用程序时才会删除此图标.它应该在后台运行作为服务.

我没有任何方式可以帮助我将我的应用程序作为服务运行,并且应该只有一个实例在后台运行.

我想通过创建托盘图标作为服务来运行我的应用程序,并且应该存在单个实例.请指导我这个问题.

感谢您提前提出的所有宝贵建议.

最佳答案
正如Mudassir所说,你应该在启动程序时添加一个检查,试图找到另一个正在运行的应用程序实例.这可以通过在启动时创建特定文件并在关闭删除它来完成.如果启动应用程序时文件已存在,则表示正在运行另一个实例.
您也可以使用进程间通信,但它比简单文件更难.

对于“服务”部分,您可以在启动时隐藏主窗口,因此您的应用程序将像Windows服务一样运行.

原文地址:https://www.jb51.cc/java/437743.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐