本帖最后由 szx_zsx 于 2012-10-18 14:14:44 编辑

解决方案 »

  1.   

    我觉得正常人用Java程序的时候,不会考虑这个问题吧,除非你的系统很不稳定
      

  2.   

    用系统钩子,java本身完成不了这个功能。
      

  3.   

    呵呵,终于有人了,好感动啊,呜呜~~~
    我考虑过用系统钩子的,但是钩子函数里的代码没有执行,不知道怎么回事,代码如下:
    public static void main(String[] args) {
        Runtime.getRuntime().addShutdownHook(new LastThread()); 
        
         其他的线程(无限监听服务器的10个端口)
    }class  LastThread extends Thread{
       public LastThread(){
    }
      public void run(){
       system.out.out.println("删除文件");
    }}就是这样写的,貌似,我关闭javaw.exe的时候,这句话没有执行到,求解释!
      

  4.   

    这是正常结束才会执行的,你直接kill不会执行的,就跟断电了是一样的
      

  5.   

    那就是说,这个钩子函数和守护线程功能是差不多的? 那我的问题应该用什么办法解决呢,我就是想在javaw.exe关闭的时候,触发一个事件来删除一个文件。
      

  6.   

    因为我的监听程序是一直开着的,只有taskkill /f /t /im javaw.exe  才能结束。 
      

  7.   

    可以考虑用c/c++写个监视任务管理器的行为,如果有kill javaw的行为,就。
      

  8.   

    JAVA中能嵌套c/c++的语句?  if  能嵌套   好想法,可以尝试一下; else   怎么办?