如何记录用户的退出时间

2020-02-11 10:50:28 +08:00
 sandman511

我用 java 写了一个小功能
跑在 cmd 黑窗口里,当用户点黑窗口的叉叉时,我想记录此刻的时间,请问有什么方法可以做到吗?
谢谢!

2163 次点击
所在节点    程序员
7 条回复
Vhc001
2020-02-11 11:02:43 +08:00
启动时把启动时间写入文件,每间隔几秒把运行时长写入文件
azcvcza
2020-02-11 11:10:09 +08:00
监听窗口关闭事件,或者程序结束事件?
imn1
2020-02-11 11:18:33 +08:00
再开一个监听进程
Maboroshii
2020-02-11 11:37:15 +08:00
心跳
xy90321
2020-02-11 11:52:28 +08:00
nightwitch
2020-02-11 22:02:21 +08:00
在 windows 下你需要响应 WM_CLOSE 事件,对应在 Linux 是 SIGTERM 信号.
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 进程启动的外部命令,挺好用

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/643653

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX