Джава:как я могу реагировать на выключение компьютера в Windows XP?

StackOverflow https://stackoverflow.com/questions/2450242

  •  20-09-2019
  •  | 
  •  

Вопрос

Можно ли создать какой-нибудь обработчик, который будет что-то делать, когда пользователь выключает компьютер с 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
  }
});
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top