有窗口,带托盘图标是jdic的

解决方案 »

  1.   

    笨方法:
    那个程序启动一个线程每隔5分钟,更新文本文件里的变量,那个变量的值就是当前时间。
    如果程序正常退出把那个变量改为"End"
    启动第二个程序的时候判断那个变量:
    1.如果为end,表示可以启动
    2.如果不是end,那肯定是一个时间,取当前时间和那个变量值的差,如果小于5分钟,说明已经启动了一个了,不能再启动第二个了;如果大于5说明上一个程序是强行退出的,可以启动。
      

  2.   

    不是吧,这个风险太大
    最近看到个用文件加lock的方法判断总觉的有走骗门
    不知道有更好办法没有
      

  3.   

    在程序里面做一个socket,含有个服务端,如果连接成功,证明已经有一个实例在运行
      

  4.   

    在java里,开socket是一个比较好的方法。比lock文件好。第一个程序实例启动时,检查指定的sock有没有echo,没有就打开一个socket监听,每二个程序启动时就检查这个socket,没echo就退出。