我创建了一个带有几个标签的JFrame
。我需要显示一条带有“欢迎用户”消息的JOptionPane
一次。如果在重新启动Windows之前重新打开框架,则不应显示JOptionPane
,但如果Windows重新启动,则JOptionPane
应再次出现。
自上次运行应用程序以来,我如何检测系统是否已重新启动?
答案 0 :(得分:2)
所以,正如@Kayaman所提到的,Java中没有isRebooted()
方法......但你可以制作一个。
假设您正在使用Windows平台(您需要为其他操作系统实现单独的版本),您可以查询system event log。有了所有放入其中的东西,我认为它会包含一个“登录”事件,所以你需要做的就是找到一种方法来查找最后一次“登录”时间,看看它是否已经改变了你上次检查时。
访问事件日志是一个特定于Windows的技巧,因此不会在原生java api中,但是如何access the event log from Java可以作为基础使用。
答案 1 :(得分:1)
将BAT脚本放在用户的Autostart文件夹中,该文件夹在特定位置创建文件:
echo JUST_STARTED > C:\NAME_OF_YOUR_APP.TXT
在您的应用中,检查文件是否存在。如果是,请将其删除并显示消息。