日期:2014-05-20  浏览次数:20757 次

怎样用java实现windows每天定时关机?
我用java写了一个定时关机程序,但是每天都得设置定时关机时间,感觉不是很好。怎样用java实现每天定时关机。
------解决方案--------------------
把时间设置,存到配置文件,Java程序去读取不就好了?
------解决方案--------------------

public class shutdownSystem extends Thread{
//设置关机时与分
 private static shutdownH=10;
 private static shutdownM=10;

 public void run(){
//    获取当关时与分 
        int thisH=Calendar .HOUR_OF_DAY;
        int thisM=Calendar.MINUTE;
        if(shutdownH==thisH && shutdownM==thisM){
try   { 
//关机
         java.lang.Runtime.getRuntime().exec( "shutdown   -s "); 
}   catch   (java.io.IOException   e)   { 
         e.printStackTrace();                       
}finally{
try{
//间隔一分钟检查一次,确保能检查到关机时间
this.sleep(60000);
}chatch(Exception ex){}
                }
        }
        


 }
}
------解决方案--------------------
调用一个bat就行,bat进行关机
------解决方案--------------------
回复于:2012-04-14 19:24:32如果是要用Windows实现的话,就是:任务栏->开始->程序->附件->系统工具->任务计划程序

然后自己配置吧,命令就是:
shutdown /s /t 0 /f 

------解决方案--------------------
用Runtime的exec调用schtasks创建一个windows任务计划就可以了
for example
//创建任务计划(每天晚上22:00关闭计算机)
String cmd = "schtasks /create /tn ShutdownWin /st 22:00 /sc daily /tr \"shutdown /s /t 0 /f\"";
Runtime.getRuntime().exec(cmd);

------解决方案--------------------
类似上面说的,调用runtime,执行windows的at命令来定时,而at命令再调用shutdown来关机

at 10:25 shutdown -s -f -t 0

不过这种东西貌似不必通过java来当二传手。另外,可能还有权限问题,at和shutdown,在高版本的win里面比如win7,都需要授权才能操作。