是否可以制作一些处理程序,当用户在 Windows XP(可选,win7)上使用 Java 关闭计算机时执行某些操作?如何?

谢谢。

有帮助吗?

解决方案

是可能的关闭挂钩添加到被调用如果JVM为任何理由<击>关断(比System.exit()其它)包括O / S关闭Java程序。这是你想要的吗?

使用:java.lang.Runtime.addShutdownHook(Thread)

Runtime.getRuntime().addShutdownHook(new Thread() {
    public void run() {
        // shutdown code here
        }
    });

其他提示

关闭挂钩应该可以完成这项工作。

API文档:

注册一个新的虚拟机关闭挂钩。Java 虚拟机关闭以响应两种事件:

  • 当最后一个非守护线程退出或调用 exit(相当于 System.exit)方法时,程序正常退出,或者
  • 虚拟机会因响应用户中断(例如键入 ^C)或系统范围的事件(例如用户注销或系统关闭)而终止。
Runtime.getRuntime().addShutdownHook(new Thread() {
  public void run() {
    // do something
  }
});
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top