我想用java实现一个到时间就自动关机的程序,让程序开机自动运行,然后到用户自主设置的关机时间时自动自动提醒关机,60秒后关机.我想过用Runtime.getRuntime().exec("shutdown -s -t 60");并且想用TextListener去监听时间显示文本变化,然后时间显示文本equals用户设置时间时就执行time.getRuntime().exec("shutdown -s -t 60");但我试了很多次就是不行.现请教高手帮实现这个程序,谢谢!

解决方案 »

  1.   

    不太明白为什么要监视时间文本,只要计算时间就行了。
    此外需要注意的是java启动的用户是什么,是否有关机权限,运行的路径是否正确。
    用 ps查查看。再把环境变量输出,看看路径里是否有shutdown。
      

  2.   

    你先监视一下时间显示文本和用户设定时间有没有相等的时候。
    比如System.out.println(timeText.equals(userSetTime));
      

  3.   

    把关机命令写个bat,如 shutdown -t 0 ,然后在java里调用这个bat不就行了.
      

  4.   

    你可以使用util包下面的Timer进行定时,然后使用lang包下面的Proccess和Runtime类调用Windows本地命令shutdown。
      

  5.   

    用java自带定时器 每秒判断一次是否是关机时间 即可
      

  6.   

    shutdown -s -t 60
    -------------------------------
    shutdown.exe只有XP有,到了NT系统你的思路就不灵眼了。
      

  7.   

    在特定时间关机的命令是
    “at 10:45 shutdown -s -t 60”你不用去监视文本,你获得用户设置的关机时间time,然后
    Runtime.getRuntime().exec("at "+ time + "shutdown -s -t 60");
      

  8.   


    实现关机: 
    RunTime.exec("Shutdown -s"); 
    Runtime.getRuntime().exec("cmd /c Shutdown -t 10"); 这个一定行
    哥们儿,够意思了吧
    ^_*