当用户在 Windows XP(可选,win7)上使用 Java 关闭计算机时,是否可以制作一些处理程序来执行某些操作?如何?
谢谢。
可以向您的 Java 程序添加一个关闭挂钩,如果 JVM 因任何原因(除了 (包括 O/S 关闭)而关闭,则会调用该挂钩。那是你要的吗?System.exit()
)
用途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
}
});