Java检查进程是否正在运行,如果没有运行文件?

时间:2012-11-16 21:30:46

标签: java windows

我一直想制作一个程序来欺骗我的朋友,你不能使用“X”按钮关闭它,但他们仍然可以结束这个过程。有没有办法让它检查进程是否正在运行,如果没有重新打开自己?谢谢。

我正在使用Windows。

1 个答案:

答案 0 :(得分:1)

首先,您可以使用方法/函数setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE),当您按下“x”按钮时,JFrame不会关闭。

运行应用程序时,可以打开虚拟套接字端口。这样,当您再次打开应用程序时,您可以“检查”是否有任何进程使用它。如果是,您可以抛出异常。

例子(把代码放在主类中):

private static final int
io_onetime_port = 60106;

private static final ServerSocket
io_onetime_semaphore;

static
{
   ServerSocket lo_onetime_execution = null;

   try
   {
      lo_onetime_execution = new ServerSocket(io_onetime_port);
   }
   catch(Exception ex) {
      System.err.println("Already open");
      System.exit(1);
   }   

   io_onetime_semaphore = lo_onetime_execution.
}