Java:在 Windows XP 中如何对计算机关闭做出反应?

发布于 2024-08-25 09:42:50 字数 81 浏览 4 评论 0原文

是否可以制作一些处理程序,当用户在 Windows XP(可选,win7)上使用 Java 关闭计算机时执行某些操作?如何?

谢谢。

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

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

在风中等你 2024-09-01 09:42:50

可以向您的 Java 程序添加一个关闭钩子,如果 JVM 由于任何原因(包括 O/S)关闭System.exit(),则将调用该关闭钩子关闭。这就是你想要的吗?

使用:java.lang.Runtime.addShutdownHook(Thread)

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

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
        }
    });
嘿嘿嘿 2024-09-01 09:42:50

关闭挂钩应该可以完成这项工作。

来自 API文档

注册一个新的虚拟机关闭挂钩。
Java 虚拟机关闭以响应两种事件:

  • 当最后一个非守护线程退出或调用 exit(相当于 System.exit)方法时,程序正常退出,或者
  • 虚拟机会因用户中断(例如键入 ^C)或系统范围的事件(例如用户注销或系统关闭)而终止。
Runtime.getRuntime().addShutdownHook(new Thread() {
  public void run() {
    // do something
  }
});

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
  }
});
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文