java运行桌面上的文件在哪里设置,java – 检查桌面应用程序是否已在运行

我正在研究基于Java的桌面应用程序.一个要求是,如果应用程序正在运行并且用户尝试再次启动应用程序,则应该执行类似于显示某些警报等操作.

我使用文件,当用户运行应用程序时,它将一些文本添加到文件中并将其保存在本地系统的某个位置,当用户再次尝试运行应用程序时,我检查文件并相应地处理情况,但是存在一些问题与此相反,如果应用程序异常终止,我无法删除该文件,在这种情况下,当用户尝试运行应用程序系统时,显示应用程序已在运行但实际应用程序异常终止的警报.

我做了一些R& D,发现我可以阅读Windows任务管理器列表然后我可以检查我的应用程序是否正在运行.它工作正常,但在测试过程中我遇到了一个问题i-e在Windows中有一个名为“tasklist”的软件/实用工具转到“开始 – >运行”并输入任务列表它将显示任务列表.如果您的系统上未安装此实用程序或由于某种原因删除/损坏此实用程序,则此操作无效,并且用户可以多次启动应用程序时出现同样的问题.这是访问taskmanager项的代码

Process p = Runtime.getRuntime().exec(

System.getenv("windir") + "/system32/" + "tasklist.exe");

BufferedReader input = new BufferedReader(new InputStreamReader(

p.getInputStream()));

while ((line = input.readLine()) != null) {

/*

Make the comparison here and show alert.

*/

}

问题:检查应用程序是否已在运行的好方法是什么?我正在使用Java进行应用程序,并使用高级安装程序来创建应用程序的安装程序.

解决方法:

启动应用程序.使用Java Web Start并使用SingleInstanceService.有关(演示和)示例代码,请参阅demo. of the SingleInstanceService.

am using .. advanced installer to create the installer

注意JWS:

>也是应用程序安装程序.所以我建议这条路线作为使用“高级安装程序”的替代方案.

>由Java(Sun / Oracle)的制造商提供.

标签:java,singleton,desktop-application

来源: https://codeday.me/bug/20190825/1721074.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值