我用 java 写了一个小功能
跑在 cmd 黑窗口里,当用户点黑窗口的叉叉时,我想记录此刻的时间,请问有什么方法可以做到吗?
谢谢!
1
Vhc001 2020-02-11 11:02:43 +08:00
启动时把启动时间写入文件,每间隔几秒把运行时长写入文件
|
2
azcvcza 2020-02-11 11:10:09 +08:00
监听窗口关闭事件,或者程序结束事件?
|
3
imn1 2020-02-11 11:18:33 +08:00
再开一个监听进程
|
4
Maboroshii 2020-02-11 11:37:15 +08:00
心跳
|
5
xy90321 2020-02-11 11:52:28 +08:00 via iPhone
|
6
nightwitch 2020-02-11 22:02:21 +08:00
在 windows 下你需要响应 WM_CLOSE 事件,对应在 Linux 是 SIGTERM 信号.
|
7
matepi 2020-02-12 08:40:09 +08:00
我记得叉直接关、ctrl+c 终止分别是不同信号来的
尤其在 windows 下,叉直接关、包括关机 /系统签退 /重启,貌似是 addShutdownHook 抓不到的 需要自己扩展 jni,有人造过轮子,我用过,一时想不起来,回头找找 找到了 https://stackoverflow.com/questions/9277630/windows-shutdown-hook-on-java-application-run-from-a-bat-script/21472016 用的这个第二个回答里面提到的 axet 的轮子,实现过,没问题 用来关掉主 java 进程启动的外部命令,挺好用 |