正常的Swin"/>

关于java:如何从Swing应用程序检测到PC正在关闭?

关于java:如何从Swing应用程序检测到PC正在关闭?

How can I detect from a Swing app that the PC is being shut-down?

运行良好的Windows程序需要允许用户在关闭PC时保存其工作。

如何使我的应用检测关闭事件?如果用户选择说"取消",则任何解决方案都应允许用户中止关机。

正常的Swing窗口关闭挂钩不起作用,也没有添加关闭挂钩。

在测试中,不会调用WindowListener的方法(windowClosing,windowClosed等)。

我接受的答案要求使用平台特定的代码(JNI来注册WM_QUERYENDSESSION)。这不是Swing的错误吗?

请参阅http://forums.sun.com/thread.jspa?threadID=481807


将一些JNI代码写入WM_QUERYENDSESSION消息。您可以从MSDN文档中或通过谷歌搜索获取详细信息。

如果您不想编写太多的C代码来执行此操作,我可以推荐JNA库,请单击此处。这为您提供了一些不错的Java C语言抽象。


如何在Windows中很好地关闭我的Java应用程序

可能有帮助


查找Java中的信号处理。 Windows关闭时,它将向应用程序发送信号,要求其终止最有可能是sigterm

有关此信息,请参见此处(我不是网站的所有者)


以上似乎是更好的答案。

我找不到有关检测窗口关闭事件的任何好信息。我猜可能最好的方法是使用窗口关闭事件等来检测您的应用程序试图关闭的天气,然后提出问题。

http://www.javalobby.org/java/forums/t17933


推荐阅读

    linux性能检测命令?

    linux性能检测命令?,系统,情况,信息,状态,工具,实时,百分比,指标,分析,命令,

    linux命令行运行中断?

    linux命令行运行中断?,连续,工作,系统,信息,程序,命令,设备,工具,网络,情况,L

    linux命令中添加用户?

    linux命令中添加用户?,系统,密码,软件,用户,命令,信息,目录,用户名,账号,文

    vim运行linux命令?

    vim运行linux命令?,系统,工作,信息,地址,命令,标准,时间,情况,工具,基础,linu

    linux命令更改用户?

    linux命令更改用户?,系统,密码,管理,用户,命令,环境,工作,地址,电脑,文件,lin

    linux修改用户名命令?

    linux修改用户名命令?,系统,密码,查询系统,代码,数字,用户名,命令,第三,电

    linux下并行运行命令?

    linux下并行运行命令?,系统,服务,工作,命令,环境,网络,暂停,文件,脚本,参数,l

    linux命令给用户授权?

    linux命令给用户授权?,系统,数字,管理,权限,命令,密码,工具,时间,软件,信息,l

    linux命令创建用户组?

    linux命令创建用户组?,系统,代码,密码,用户组,用户,命令,信息,名称,新增,管

    jar运行命令linux?

    jar运行命令linux?,项目,系统,平台,工具,上期,命令,选项,日志,文件名,目录,Li

    linux命令给用户授权?

    linux命令给用户授权?,系统,数字,管理,权限,命令,密码,工具,时间,软件,信息,l

    linux下并行运行命令?

    linux下并行运行命令?,系统,服务,工作,命令,环境,网络,暂停,文件,脚本,参数,l

    linux命令创建用户组?

    linux命令创建用户组?,系统,代码,密码,用户组,用户,命令,信息,名称,新增,管

    查看linux用户命令行?

    查看linux用户命令行?,信息,系统,时间,名称,密码,用户,命令,地址,状态,设备,L

    linux所有用户命令行?

    linux所有用户命令行?,系统,信息,地址,工作,密码,命令,用户,时间,电脑,管理,L

    linux用户下的命令是?

    linux用户下的命令是?,系统,工作,管理,地址,命令,密码,基础,信息,目录,新增,L

    linux用户登录的命令?

    linux用户登录的命令?,系统,信息,工作,地址,时间,密码,名称,命令,电脑,软件,l

    linux关机用户命令?

    linux关机用户命令?,系统,工作,信息,状态,管理,命令,基础,目录,用户,功能,lin

    linux命令行后台运行?

    linux命令行后台运行?,服务,状态,标准,暂停,命令,后台,连续,地方,工作,方法,l

    脚本运行linux命令?

    脚本运行linux命令?,系统,环境,工具,工作,位置,底部,代码,发行,官网,终端,lin