行为良好的 Windows 程序需要允许用户在关闭 PC 时保存其工作。
如何让我的应用检测关闭事件?任何解决方案都应该允许用户在选择“取消”时中止关闭。
正常的 Swing 窗口关闭 Hook 不起作用,添加关闭 Hook 也不起作用。
在测试中,WindowListener 的方法(windowClosing、windowClosed 等)不会被调用。
我接受的答案需要使用特定于平台的代码(JNI 注册 WM_QUERYENDSESSION )。这不是 Swing 上的一个错误吗?
参见http://forums.sun.com/thread.jspa?threadID=481807&messageID=2246870
最佳答案
将一些 JNI 代码写入 WM_QUERYENDSESSION 消息。您可以从 MSDN 文档或通过谷歌搜索来获取详细信息。
如果您不想编写太多 C++ 代码来执行此操作,我可以推荐 JNA 库 click here 。这为您提供了一些很好的 C 代码 Java 抽象。
关于java - 如何从 Swing 应用程序检测到 PC 正在关闭?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71842/