首页 / 知识
如何使我的Java应用程序在Windows中正常关闭?
2023-04-15 06:56:00

How do I get my Java application to shutdown nicely in windows?我有一个Java应用程序,当用户选择Start-> Shutdown时,我想"很好地"关闭它。 我已经尝试通过Runtime.addShutdownHook(...)使用JVM关闭侦听器,但这无法正常工作,因为我无法使用其中的任何UI元素。 我还尝试在主应用程序UI窗口上使用退出处理程序,但据我所知,它无法暂停或停止关闭。 我怎样才能很好地处理关机? 前面提到的JNI方法可能会起作用。 您可以使用JNA,它基本上是JNI的包装,以使其易于使用。另外一个好处是(至少在我看来)它比原始JNI更快,更可维护。您可以在https://jna.dev.java.net/上找到JNA。
如果只是因为要使它像Windows中的服务一样在开始菜单中启动该应用程序,则可以使用以下Java服务包装器: 据我所知,您需要开始使用JNI来为Windows WM_QUERYENDSESSION消息设置消息处理程序。 为此(如果您像我这样不熟悉Windows编程,则需要使用新的消息处理功能(如此处所述)创建一个新的窗口类,并从消息处理程序中处理WM_QUERYENDSESSION。 注意:您需要先在消息处理线程上使用JNIEnv :: GetJavaVM(...),然后再使用JavaVM :: AttachCurrentThread(...),然后才能从本地消息处理代码中调用任何Java方法。 |
最新内容
相关内容
关闭端口linux命令?
关闭端口linux命令?,服务,系统,工具,端口,情况,命令,防火墙,进程,指令,以下,linux关闭端口怎么关闭在Linux系统中,关闭端口可以使用以下两种方linux命令中添加用户?
linux命令中添加用户?,系统,密码,软件,用户,命令,信息,目录,用户名,账号,文件夹,linux添加用户名1、打开xshell软件,远程访问您的服务器或虚拟linux命令更改用户?
linux命令更改用户?,系统,密码,管理,用户,命令,环境,工作,地址,电脑,文件,linux如何更改用户名?1、首先打开linux的终端,输入指令修改用户名,简linux命令给用户授权?
linux命令给用户授权?,系统,数字,管理,权限,命令,密码,工具,时间,软件,信息,linux怎样给普通用户设置权限添加用户 添加账号就是在系统中创建linux命令行关闭网页?
linux命令行关闭网页?,服务,系统,状态,管理,命令,进程,文件,模式,指令,主机,linux如何退出命令操作界面?如图,vi 文件名,接着按回车即可打开对应linux命令创建用户组?
linux命令创建用户组?,系统,代码,密码,用户组,用户,命令,信息,名称,新增,管理,Linux中如何创建用户和用户组linux一条命令不能创建多个用户组linux命令给用户授权?
linux命令给用户授权?,系统,数字,管理,权限,命令,密码,工具,时间,软件,信息,linux怎样给普通用户设置权限添加用户 添加账号就是在系统中创建linux命令创建用户组?
linux命令创建用户组?,系统,代码,密码,用户组,用户,命令,信息,名称,新增,管理,Linux中如何创建用户和用户组linux一条命令不能创建多个用户组查看linux用户命令行?
查看linux用户命令行?,信息,系统,时间,名称,密码,用户,命令,地址,状态,设备,Linux查看所有用户用什么命令输入“cat /etc/passwd”命令查看所linux命令关闭视图?
linux命令关闭视图?,系统,状态,管理,百分比,信息,情况,基础,软件,观察,首次,怎么查看linux正在运行的命令在 Linux 系统中,以下几个命令可以查linux所有用户命令行?
linux所有用户命令行?,系统,信息,地址,工作,密码,命令,用户,时间,电脑,管理,Linux里怎么用命令查看所有用户1、您好,查看linux下所有用户步骤:第linux用户下的命令是?
linux用户下的命令是?,系统,工作,管理,地址,命令,密码,基础,信息,目录,新增,Linux系统基础操作指令1、linux常用命令有pwd命令、cd命令、ls命