Question

Is it possible make some handler that will do something when user shutdown computer with Java on Windows XP (optional, win7)? How?

Thanks.

Was it helpful?

Solution

It is possible to add a shutdown hook to your Java program which is invoked if the JVM is shutdown for any reason (other than System.exit()) including O/S shutdown. Is that what you want?

Use: java.lang.Runtime.addShutdownHook(Thread):

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

OTHER TIPS

a shutdown hook should do the job.

From API Doc:

Registers a new virtual-machine shutdown hook. The Java virtual machine shuts down in response to two kinds of events:

  • The program exits normally, when the last non-daemon thread exits or when the exit (equivalently, System.exit) method is invoked, or
  • The virtual machine is terminated in response to a user interrupt, such as typing ^C, or a system-wide event, such as user logoff or system shutdown.
Runtime.getRuntime().addShutdownHook(new Thread() {
  public void run() {
    // do something
  }
});
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top