加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-14 19:12:49 所属栏目:Java 来源:网络整理
导读:我正在使用java创建的桌面应用程序.我们正在为应用程序的Windows版本(用于在Windows O.S.上运行)工作.当我们运行我们的应用程序时,它会使用systemtray as在桌面上创建一个托盘图标 SystemTray tray = SystemTray.getSystemTray(); 我正在创建系统托盘的单个

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

SystemTray tray = SystemTray.getSystemTray();

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

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

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

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

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读