首页 / 知识
关于java:如何从Swing应用程序检测到PC正在关闭?
2023-04-15 21:40:00

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的cpu和内存要查看CPU使用情况,可以使用top命令。Top命令linux命令行运行中断?
linux命令行运行中断?,连续,工作,系统,信息,程序,命令,设备,工具,网络,情况,Linux停止命令继续执行的方法是什么1、Linux 里有一些工具,可以脱linux命令中添加用户?
linux命令中添加用户?,系统,密码,软件,用户,命令,信息,目录,用户名,账号,文件夹,linux添加用户名1、打开xshell软件,远程访问您的服务器或虚拟vim运行linux命令?
vim运行linux命令?,系统,工作,信息,地址,命令,标准,时间,情况,工具,基础,linux系统中如何进入退出vim编辑器,方法及区别先按ESC,再输入冒号,在输linux命令更改用户?
linux命令更改用户?,系统,密码,管理,用户,命令,环境,工作,地址,电脑,文件,linux如何更改用户名?1、首先打开linux的终端,输入指令修改用户名,简linux修改用户名命令?
linux修改用户名命令?,系统,密码,查询系统,代码,数字,用户名,命令,第三,电脑,第一,linux怎样修改用户名和主机名以 root 用户登录系统或者使用linux下并行运行命令?
linux下并行运行命令?,系统,服务,工作,命令,环境,网络,暂停,文件,脚本,参数,linux多个用户同时执行命令会冲突吗不会冲突。解释:用户登录linuxlinux命令给用户授权?
linux命令给用户授权?,系统,数字,管理,权限,命令,密码,工具,时间,软件,信息,linux怎样给普通用户设置权限添加用户 添加账号就是在系统中创建linux命令创建用户组?
linux命令创建用户组?,系统,代码,密码,用户组,用户,命令,信息,名称,新增,管理,Linux中如何创建用户和用户组linux一条命令不能创建多个用户组jar运行命令linux?
jar运行命令linux?,项目,系统,平台,工具,上期,命令,选项,日志,文件名,目录,Linux下运行springboot项目jar包,启动日志输出教程1、创建一个名为linux命令给用户授权?
linux命令给用户授权?,系统,数字,管理,权限,命令,密码,工具,时间,软件,信息,linux怎样给普通用户设置权限添加用户 添加账号就是在系统中创建linux下并行运行命令?
linux下并行运行命令?,系统,服务,工作,命令,环境,网络,暂停,文件,脚本,参数,linux多个用户同时执行命令会冲突吗不会冲突。解释:用户登录linux