我想用Java写一个程序,就是我想在运行代码后,在指定的时间打开某程序,例如我运行代码后,讲在12:00打开"D:\Program Files\Tencent\QQ2009\Bin\QQ.exe"这个程序,求高人指点。还有可能的话在指定的时间例如14:00关闭某个程序,小弟刚学Java,忘高人指点。谢了

解决方案 »

  1.   

    这个和简单 但要是你的Java程序一直运行着才行 
    那样还不如用Windows的task任务就好了
    还是给给代码 不太喜欢给答案 给启发性的test
    用到了Java中 启动程序的方法
    Process pro = Runtime.getRuntime().exec("notepad src\\Test1.java"); public void testSR(){
    long begin = System.currentTimeMillis();

    Properties p = System.getProperties();
    Enumeration e = p.propertyNames();
    while(e.hasMoreElements()){
    String str = (String) e.nextElement();
    System.out.println(str);
    }

    try {
    Process pro = Runtime.getRuntime().exec("notepad src\\Test1.java");
    Thread.sleep(10000);
    pro.destroy();
    } catch (IOException e1) {
    e1.printStackTrace();
    }catch (InterruptedException e1) {
    e1.printStackTrace();
    }
    long end = System.currentTimeMillis();
    System.out.println("Used time :" + (end - begin));
    }
      

  2.   

    你调用这个方法运行一下看看 他效果你就知道自己该看哪个
    方向的资料了
    时间 可以取机器时间 来判断 这个 看看 Date等时间类就好了
      

  3.   

    下面是一个简单的Timer例子,它每隔10秒钟执行一次特定操作doWork。Timer timer = new Timer();                        TimerTask  task = new TimerTask (){                        public void run() {                             doWork();                           }};              timer.schedule (task, 10000L, 10000L);可以看到,具体的任务由TimerTask的子类实现,Timer负责管理、执行TimerTask。文章出处:DIY部落(http://www.diybl.com/course/3_program/java/javajs/200818/96020.html)
      

  4.   

    import java.awt.Desktop;
    import java.io.File;
    import java.io.IOException;
    import java.util.Timer;
    import java.util.TimerTask;
    public class TimeExecute 
    { /**
     * @param args
     */
    public static void main(String[] args)
        {
    // TODO Auto-generated method stub
    Timer timer=new Timer();
    TimerTask task=new TimerTask()
    {
    public void run()
    {
    Desktop desktop= Desktop.getDesktop();
    try
    {
    desktop.open(new File("D:\\Program Files\\Tencent\\QQ\\QQ.exe"));
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    };
    timer.schedule(task,100);//改成毫秒数 }}
      

  5.   

    请问Desktop是个什么类?有什么作用?我在Api里怎么查不到有这个类?
      

  6.   

    怎么没有啊??你的API是1.6的吗???
      

  7.   

    Desktop是实现运行 可运行程序的  用的是系统默认的打开方式
      

  8.   

    Runtime.getRuntime().exec(""); 
    可以调用cmd命令,也可以调用自己写的批处理
    起个线程,判断当前时间和你要执行程序的时间比较
    当前时间大于等于执行程序时间调用
    Runtime.getRuntime().exec("")