Джава:как я могу реагировать на выключение компьютера в Windows XP?
Вопрос
Можно ли создать какой-нибудь обработчик, который будет что-то делать, когда пользователь выключает компьютер с Java в Windows XP (необязательно, Win7)?Как?
Спасибо.
Решение
В вашу Java-программу можно добавить перехватчик завершения работы, который вызывается, если JVM по какой-либо причине завершает работу. (Кроме как включая отключение ОС.Это то что ты хочешь?System.exit()
)
Использовать: java.lang.Runtime.addShutdownHook(Thread)
:
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
// shutdown code here
}
});
Другие советы
перехватчик выключения должен выполнить эту работу.
От API-документ:
Регистрирует новый обработчик завершения работы виртуальной машины.Виртуальная машина Java отключается в ответ на два типа событий:
- Программа завершает работу нормально, когда завершается последний поток, не являющийся демоном, или когда вызывается метод выхода (эквивалент System.exit), или
- Работа виртуальной машины завершается в ответ на прерывание пользователя, например ввод ^C, или общесистемное событие, например выход пользователя из системы или завершение работы системы.
Runtime.getRuntime().addShutdownHook(new Thread() {
public void run() {
// do something
}
});
Не связан с StackOverflow