爪哇:在 Windows XP 中如何对计算机关闭做出反应?
题
是否可以制作一些处理程序,当用户在 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
}
});
不隶属于 StackOverflow